JavaTM 2
Platform
Std. Ed. v1.4.0

javax.naming.ldap
クラス ControlFactory

java.lang.Object
  |
  +--javax.naming.ldap.ControlFactory

public abstract class ControlFactory
extends Object

この抽象クラスは、LDAPv3 コントロールの作成に使用するファクトリを表示します。LDAPv3 コントロールは「RFC 2251」で定義されています。

サービスプロバイダが応答コントロールを受信すると、このプロバイダはコントロールファクトリを使って、特定または任意のコントロールクラスを返します。

導入されたバージョン:
1.3
関連項目:
Control

コンストラクタの概要
protected ControlFactory()
           
 
メソッドの概要
abstract  Control getControlInstance(Control ctl)
          コントロールファクトリを使用するコントロールを作成します。
static Control getControlInstance(Control ctl, Context ctx, Hashtable env)
          既知のコントロールファクトリを使用するコントロールを作成します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ControlFactory

protected ControlFactory()
メソッドの詳細

getControlInstance

public abstract Control getControlInstance(Control ctl)
                                    throws NamingException
コントロールファクトリを使用するコントロールを作成します。

このファクトリは、サービスプロバイダが、LDAP プロトコルから読み取るコントロールを特殊なコントロールクラスとして返すときに使用します。この機構を使用しなければ、プロバイダは BER 符号化形式のデータだけを含むコントロールを返します。

一般に、ctl は、BER 符号化データを含む基本的なコントロールです。ファクトリは、特殊なコントロールを実装するのに使用されますが、通常は、BER 符号化データを復合化して、型保証された安全な方法で該当データにアクセスするメソッドを提供します。

たとえば、ファクトリは基本的なコントロールの BER 符号化データを使用して VirtualListReplyControl のインスタンスを返す場合があります。

このファクトリが指定引数を使ってコントロールを作成できない場合、null を返します。例外がスローされるのは、このコントロールファクトリだけが使用され、ほかのコントロールファクトリが使用されないときだけです。コントロールの BER 符号化データが、指定された OID を持つとみなされているコントロールと一致しない場合に、例外がスローされます。このメソッドは NamingException をスローするため、内部的に生成される例外を伝達する必要がある場合は、NamingException にラップする必要があります。

パラメータ:
ctl - null 以外のコントロール
戻り値:
null の可能性のあるコントロール
例外:
NamingException - ctl が、コントロールの作成に使用できなくなるような、無効なデータを含んでいる場合。ファクトリーが例外をスローするのは、OID によって識別されるコントロールの生成方法がわかっているのに、無効な BER 符号化データなどの理由でコントロールが生成できない場合だけです。

getControlInstance

public static Control getControlInstance(Control ctl,
                                         Context ctx,
                                         Hashtable env)
                                  throws NamingException
既知のコントロールファクトリを使用するコントロールを作成します。

コントロールを作成するには、次の規則が使用されます。

コントロールファクトリは public ですが、また引数を取らない public コンストラクタを持つ必要があります。

パラメータ:
ctl - OID および BER 符号化データを含む null 以外のコントロールオブジェクト
ctx - コントロールが作成される null の可能性があるコンテキスト。null の場合は、この情報は利用できない
env - null の可能性のあるコンテキスト環境。LdapContext.CONTROL_FACTORIES プロパティの値を検索するのに使用される
戻り値:
ctl を使って生成されたコントロールオブジェクト、または上記のアルゴリズムを使ってコントロールオブジェクトを生成できない場合は ctl
例外:
NamingException - ネーミング例外が、コントロールオブジェクトを作成しようとするときに発生した場合。アクセスされたファクトリの 1 つが例外をスローすると、その例外は呼び出し側に送られる。ファクトリおよびオブジェクトクラスのロード中またはインスタンス生成中にエラーが発生すると、その例外は NamingException の内部にラップされてから再度スローされる

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.