JavaTM 2 Platform
Std. Ed. v1.3

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 を返します。ファクトリは、目的が 1 つだけのファクトリであり、それ以外のファクトリを試みる必要がないことが確実であれば、例外をスローするだけです。コントロールの 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.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

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