JavaTM Platform
Standard Ed. 6

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 Platform
Standard Ed. 6

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

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。