javax.naming.ldap

接口
异常
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 是一个抽象类。它具体的实现确定其同步和序列化属性。

作为参数传递给 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);
其中 ctx 是抛出 ReferralException. 的上下文

在此类中重写该方法仅出于文档编制目的。有关使用此方法的方式,请参阅 ReferralException

指定者:
ReferralException 中的 getReferralContext
返回:
将继续该方法的非 null 上下文。
抛出:
NamingException - 如果遇到命名异常。调用 retryReferral()skipReferral() 来继续处理这些引用。

getReferralContext

public abstract Context getReferralContext(Hashtable<?,?> env)
                                    throws NamingException
使用环境属性(但不使用控件)检索继续该方法的上下文。使用 env 作为其环境属性(但不使用控件)创建引用上下文。

该方法等效于

 getReferralContext(env, 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 类描述。

当调用者需要提供请求控件来创建引用上下文时,应该使用此方法,而不是其他两个重载形式。例如,当需要提供与验证有关的特殊控件时,它可能这样做。

服务提供者的实现方应该参阅 LdapContext 类描述中的 "Service Provider" 一节,以获取实现的详细信息。

参数:
reqCtls - 要用于新上下文的请求控件(可能为 null)。如果 null 或空数组意味着不使用任何请求控件。
env - 要用于新上下文的环境属性(可能为 null)。如果为 null,则不使用任何环境属性初始化上下文。
返回:
将继续该方法的非 null 上下文。
抛出:
NamingException - 如果遇到命名异常。调用 retryReferral()skipReferral() 来继续处理这些引用。