Module java.naming

Interface ExtendedResponse

所有超级接口:
Serializable
所有已知子接口:
UnsolicitedNotification
所有已知实现类:
StartTlsResponse

public interface ExtendedResponse extends Serializable
该接口表示在RFC 2251中定义的LDAP扩展操作响应。
     ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
          COMPONENTS OF LDAPResult,
          responseName     [10] LDAPOID OPTIONAL,
          response         [11] OCTET STRING OPTIONAL }
 
它包括一个可选的对象标识符和一个可选的ASN.1 BER编码值。

该类中的方法可被应用程序用于获取有关扩展操作响应的底层信息。然而,通常情况下,应用程序将使用特定于实现此接口的类的方法。这样的类应该已解码响应中的BER缓冲区,并应提供允许用户以类型安全和友好的方式访问响应中的数据的方法。

例如,假设LDAP服务器支持'获取时间'扩展操作。它将提供GetTimeRequest和GetTimeResponse类。GetTimeResponse类可能如下所示:

 public class GetTimeResponse implements ExtendedResponse {
     public java.util.Date getDate() {...};
     public long getTime() {...};
     ....
 }
程序将如下使用这些类:
 GetTimeResponse resp =
     (GetTimeResponse) ectx.extendedOperation(new GetTimeRequest());
 java.util.Date now = resp.getDate();
自 JDK 1.3 起
参见:
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    检索LDAP扩展操作响应的ASN.1 BER编码值。
    getID()
    检索响应的对象标识符。
  • Method Details

    • getID

      String getID()
      检索响应的对象标识符。LDAP协议规定响应对象标识符是可选的。如果服务器未发送它,则响应将不包含ID(即为null)。
      返回:
      一个可能为null的对象标识符字符串,表示LDAP ExtendedResponse.responseName 组件。
    • getEncodedValue

      byte[] getEncodedValue()
      检索LDAP扩展操作响应的ASN.1 BER编码值。如果LDAP服务器发送的响应中缺少该值,则返回null。结果是原始的BER字节,包括响应值的标签和长度。它不包括响应OID。
      返回:
      一个可能为null的字节数组,表示LDAP ExtendedResponse.response 组件的ASN.1 BER编码内容。