モジュール java.naming
パッケージ javax.naming.ldap

インタフェース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();
    

    導入されたバージョン:
    1.3
    関連項目:
    ExtendedRequest
    • メソッドの詳細

      • getID

        String getID()
        応答のオブジェクト拡張子を取得します。 LDAPプロトコルでは、応答オブジェクト識別子をオプションに指定します。 サーバーがこの識別子を送らないと、応答にはIDが含まれません。つまり、nullになります。
        戻り値:
        LDAPのExtendedResponse.responseNameコンポーネントを表す、オブジェクトの識別子の文字列。nullの場合もある。
      • getEncodedValue

        byte[] getEncodedValue()
        LDAP拡張操作の応答のASN.1 BERでエンコードされた値を取得します。 LDAPサーバーから返された応答にこの値が存在しない場合、nullを返します。 この結果は、応答値のタグおよび長さを含むそのまま(raw)のBERバイトで表示されます。 ただし、応答OIDは含まない。
        戻り値:
        LDAPのExtendedResponse.responseコンポーネントのASN.1 BERでエンコードされた内容を示すnullの可能性があるバイト配列。