修飾子 | コンストラクタと説明 |
---|---|
protected |
ControlFactory()
コントロール・ファクトリの新しいインスタンスを作成します。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract Control |
getControlInstance(Control ctl)
コントロール・ファクトリを使用するコントロールを作成します。
|
static Control |
getControlInstance(Control ctl, Context ctx, Hashtable<?,?> env)
既知のコントロール・ファクトリを使用してコントロールを作成します。
|
public abstract Control getControlInstance(Control ctl) throws NamingException
このファクトリは、サービス・プロバイダが、LDAPプロトコルから読み取るコントロールを特殊なコントロール・クラスとして返すときに使用します。このメカニズムを使用しなければ、プロバイダはBERエンコード形式のデータだけを含むコントロールを返します。
一般に、ctlは、BERエンコード・データを含む基本的なコントロールです。ファクトリは、特殊なコントロールを実装するのに使用されますが、通常は、BERエンコード・データをデコードして、型保証された安全な方法で該当データにアクセスするメソッドを提供します。
たとえば、ファクトリは基本的なコントロールのBERエンコード・データを使用してVirtualListReplyControlのインスタンスを返す場合があります。
このファクトリが指定引数を使ってコントロールを作成できない場合、nullを返します。例外がスローされるのは、このコントロール・ファクトリだけが使用され、ほかのコントロール・ファクトリが使用されないときだけです。コントロールのBERデータが、指定されたOIDを持つとみなされているコントロールと一致しない場合に、例外がスローされます。このメソッドはNamingExceptionをスローするため、内部的に生成される例外を伝達する必要がある場合は、NamingExceptionにラップする必要があります。
ctl
- null以外のコントロール。NamingException
- ctlが、コントロールの作成に使用できなくなる無効なデータを含んでいる場合。OIDによって識別されるコントロールを生成できる場合、ファクトリは例外だけをスローするが、無効なBERデータなどがあればスローできない。public static Control getControlInstance(Control ctl, Context ctx, Hashtable<?,?> env) throws NamingException
コントロールを作成するには、次の規則が使用されます。
ctl
を返す。コントロール作成中に、例外が発生したら、例外は呼出し側に引き渡される。
コントロール・ファクトリはpublicですが、また引数を取らないpublicコンストラクタを持つ必要があります。
ctl
- OIDおよびBERデータを含むnull以外のコントロール・オブジェクト。ctx
- コントロールが作成されるnullの可能性があるコンテキスト。nullの場合は、この情報は利用できない。env
- nullの可能性のあるコンテキスト環境。LdapContext.CONTROL_FACTORIESプロパティの値を検索するのに使用される。ctl
を使って生成されたコントロール・オブジェクト、または上記のアルゴリズムを使ってコントロール・オブジェクトを生成できない場合はctl
。NamingException
- ネーミング例外が、コントロール・オブジェクトを作成しようとするときに発生した場合。アクセスされたファクトリの1つが例外をスローすると、その例外は呼出し側に送られる。ファクトリおよびオブジェクト・クラスのロード中またはインスタンス生成中にエラーが発生すると、その例外はNamingExceptionの内部にラップされてから再度スローされる。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.