JavaTM Platform
Standard Ed. 6

javax.naming.ldap
クラス LdapReferralException

java.lang.Object
  上位を拡張 java.lang.Throwable
      上位を拡張 java.lang.Exception
          上位を拡張 javax.naming.NamingException
              上位を拡張 javax.naming.ReferralException
                  上位を拡張 javax.naming.ldap.LdapReferralException
すべての実装されたインタフェース:
Serializable

public abstract class LdapReferralException
extends ReferralException

この抽象クラスは、LDAP 参照例外を表すために使用されます。要求コントロールを受け取る getReferralContext() メソッドに対応して、基底となる ReferralException を拡張します。LdapReferralException は、abstract クラスです。LdapReferralException の具象実装によって、そのクラスの同期および直列化プロパティーが決定します。

getReferralContext() メソッドにパラメータとして渡される Control[] 配列は、呼び出し側が所有します。サービスプロバイダは配列を変更せず、その配列に対する参照も保持しませんが、配列内の個別の Control オブジェクトに対する参照を保持することがあります。

導入されたバージョン:
1.3
関連項目:
直列化された形式

フィールドの概要
 
クラス javax.naming.NamingException から継承されたフィールド
remainingName, resolvedName, resolvedObj, rootException
 
コンストラクタの概要
protected LdapReferralException()
          LdapReferralException のインスタンスを新しく構築します。
protected LdapReferralException(String explanation)
          指定された説明を使用して、LdapReferralException のインスタンスを新たに構築します。
 
メソッドの概要
abstract  Context getReferralContext()
          コントロールは使わずに、コンテキストの環境を使用してメソッドを継続する時点のコンテキストを検出します。
abstract  Context getReferralContext(Hashtable<?,?> env)
          コントロールは使用せずに、環境プロパティーを使用してメソッドを継続する時点のコンテキストを検出します。
abstract  Context getReferralContext(Hashtable<?,?> env, Control[] reqCtls)
          要求コントロールおよび環境プロパティーを使用して、メソッドを継続する時点のコンテキストを取り出します。
 
クラス javax.naming.ReferralException から継承されたメソッド
getReferralInfo, retryReferral, skipReferral
 
クラス javax.naming.NamingException から継承されたメソッド
appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString, toString
 
クラス java.lang.Throwable から継承されたメソッド
fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, printStackTrace, printStackTrace, printStackTrace, setStackTrace
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

LdapReferralException

protected LdapReferralException(String explanation)
指定された説明を使用して、LdapReferralException のインスタンスを新たに構築します。ほかのフィールドはすべて null に設定されます。

パラメータ:
explanation - この例外についての追加詳細情報null も可
関連項目:
Throwable.getMessage()

LdapReferralException

protected LdapReferralException()
LdapReferralException のインスタンスを新しく構築します。ほかのフィールドはすべて null に設定されます。

メソッドの詳細

getReferralContext

public abstract Context getReferralContext()
                                    throws NamingException
コントロールは使わずに、コンテキストの環境を使用してメソッドを継続する時点のコンテキストを検出します。参照コンテキストは、ReferralException をスローしたコンテキストの環境プロパティーを使用し、コントロールを使用せずに作成されます。

このメソッドは、次と同等です。

 getReferralContext(ctx.getEnvironment(), null);
ctxReferralException をスローしたコンテキストです。

このメソッドは、ドキュメントを目的とした場合に限り、このクラスでオーバーライドされます。このメソッドを使用方法については、ReferralException を参照してください。

定義:
クラス ReferralException 内の getReferralContext
戻り値:
メソッドを継続する時点の null 以外のコンテキスト
例外:
NamingException - ネーミング例外が見つかった場合 retryReferral() または skipReferral() のどちらかを呼び出して、 参照の処理を継続する

getReferralContext

public abstract Context getReferralContext(Hashtable<?,?> env)
                                    throws NamingException
コントロールは使用せずに、環境プロパティーを使用してメソッドを継続する時点のコンテキストを検出します。参照コンテキストは、env を環境プロパティーとして使用し、コントロールを使用せずに作成されます。

このメソッドは、次と同等です。

 getReferralContext(ctx.getEnvironment(), null);

このメソッドは、ドキュメントを目的とした場合に限り、このクラスでオーバーライドされます。このメソッドを使用方法については、ReferralException を参照してください。

定義:
クラス ReferralException 内の getReferralContext
パラメータ:
env - null の可能性がある、参照コンテキストを取り出すときに使用する環境。 null の場合は、環境プロパティーは使用されない
戻り値:
メソッドを継続する時点の null 以外のコンテキスト
例外:
NamingException - ネーミング例外が見つかった場合 retryReferral() または skipReferral() のどちらかを呼び出して、 参照の処理を継続する

getReferralContext

public abstract Context getReferralContext(Hashtable<?,?> env,
                                           Control[] reqCtls)
                                    throws NamingException
要求コントロールおよび環境プロパティーを使用して、メソッドを継続する時点のコンテキストを取り出します。参照の発生が、コンテキストの操作中直接であっても、検索列挙中など間接的であっても、参照例外は操作を継続する時点のコンテキストを提供します。操作を継続するには、クライアントプログラムで、元の呼び出しと同じ引数を使用するメソッドを再度呼び出します。

参照元サーバーに接続するときは、reqCtls が使用されます。このようなコントロールは、コンテキスト、およびそのコンテキストから派生したコンテキストインスタンスに対する接続要求コントロールとして使用されます。 reqCtls は、後続のコンテキスト操作の要求コントロールとしても使われます。詳細は、LdapContext クラスの説明を参照してください。

呼び出し側が参照コンテキスト作成のために要求コントロールを指定する必要があるときは、オーバーロードされたほかの 2 つの形式ではなく、このメソッドを使用します。認証に関する特定のコントロールを指定しなければならない場合などに使用します。

実装の詳細については、実装側であるサービスプロバイダは、LdapContext クラスの「サービスプロバイダ」セクションを熟読してください。

パラメータ:
reqCtls - 新しいコンテキストに使用する null の可能性がある要求コントロール。 null または空の配列の場合は、要求コントロールを使用していないことを示す
env - 新しいコンテキストの場合に使用する null の可能性がある 環境プロパティー。null の場合は、コンテキストが環境プロパティーを使って初期化されていない
戻り値:
メソッドを継続する時点の null 以外のコンテキスト
例外:
NamingException - ネーミング例外が見つかった場合 retryReferral() または skipReferral() のどちらかを呼び出して、 参照の処理を継続する

JavaTM Platform
Standard Ed. 6

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

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