APIdia Launch Partner
Top Description Fields Constructors Methods
javax.naming.ldap

public abstract Class LdapReferralException

extends ReferralException
Class Inheritance
Known Direct Subclasses
com.sun.jndi.ldap.LdapReferralException
Imports
javax.naming.ReferralException, .Context, .NamingException, java.util.Hashtable

This abstract class is used to represent an LDAP referral exception. It extends the base ReferralException by providing a getReferralContext() method that accepts request controls. LdapReferralException is an abstract class. Concrete implementations of it determine its synchronization and serialization properties.

A Control[] array passed as a parameter to the getReferralContext() method is owned by the caller. The service provider will not modify the array or keep a reference to it, although it may keep references to the individual Control objects in the array.

Authors
Rosanna Lee, Scott Seligman, Vincent Ryan
Since
1.3

Field Summary

Modifier and TypeField and Description
private static final long

Constructor Summary

AccessConstructor and Description
protected
LdapReferralException(String
Additional detail about this exception. Can be null.
explanation
)

Constructs a new instance of LdapReferralException using the explanation supplied.

protected
LdapReferralException()

Constructs a new instance of LdapReferralException.

Method Summary

Modifier and TypeMethod and Description
public abstract Context

Returns:

The non-null context at which to continue the method.
getReferralContext
()

Implements abstract javax.naming.ReferralException.getReferralContext.

Retrieves the context at which to continue the method using the context's environment and no controls.

public abstract Context

Returns:

The non-null context at which to continue the method.
getReferralContext
(Hashtable<?, ?>
The possibly null environment to use when retrieving the referral context. If null, no environment properties will be used.
env
)

Implements abstract javax.naming.ReferralException.getReferralContext.

Retrieves the context at which to continue the method using environment properties and no controls.

public abstract Context

Returns:

The non-null context at which to continue the method.
getReferralContext
(Hashtable<?, ?>
The possibly null environment properties to use when for the new context. If null, the context is initialized with no environment properties.
env
,
Control[]
The possibly null request controls to use for the new context. If null or the empty array means use no request controls.
reqCtls
)

Retrieves the context at which to continue the method using request controls and environment properties.

Inherited from javax.naming.ReferralException:
getReferralInforetryReferralskipReferral

Field Detail

serialVersionUIDback to summary
private static final long serialVersionUID

Hides javax.naming.ReferralException.serialVersionUID.

Constructor Detail

LdapReferralExceptionback to summary
protected LdapReferralException(String explanation)

Constructs a new instance of LdapReferralException using the explanation supplied. All other fields are set to null.

Parameters
explanation:String

Additional detail about this exception. Can be null.

See Also
java.lang.Throwable#getMessage
LdapReferralExceptionback to summary
protected LdapReferralException()

Constructs a new instance of LdapReferralException. All fields are set to null.

Method Detail

getReferralContextback to summary
public abstract Context getReferralContext() throws NamingException

Implements abstract javax.naming.ReferralException.getReferralContext.

Retrieves the context at which to continue the method using the context's environment and no controls. The referral context is created using the environment properties of the context that threw the ReferralException and no controls.

This method is equivalent to

 getReferralContext(ctx.getEnvironment(), null);
where ctx is the context that threw the ReferralException.

It is overridden in this class for documentation purposes only. See ReferralException for how to use this method.

Returns:Context

The non-null context at which to continue the method.

Exceptions
NamingException:
If a naming exception was encountered. Call either retryReferral() or skipReferral() to continue processing referrals.
getReferralContextback to summary
public abstract Context getReferralContext(Hashtable<?, ?> env) throws NamingException

Implements abstract javax.naming.ReferralException.getReferralContext.

Retrieves the context at which to continue the method using environment properties and no controls. The referral context is created using env as its environment properties and no controls.

This method is equivalent to

 getReferralContext(env, null);

It is overridden in this class for documentation purposes only. See ReferralException for how to use this method.

Parameters
env:Hashtable<?, ?>

The possibly null environment to use when retrieving the referral context. If null, no environment properties will be used.

Returns:Context

The non-null context at which to continue the method.

Exceptions
NamingException:
If a naming exception was encountered. Call either retryReferral() or skipReferral() to continue processing referrals.
getReferralContextback to summary
public abstract Context getReferralContext(Hashtable<?, ?> env, Control[] reqCtls) throws NamingException

Retrieves the context at which to continue the method using request controls and environment properties. Regardless of whether a referral is encountered directly during a context operation, or indirectly, for example, during a search enumeration, the referral exception should provide a context at which to continue the operation. To continue the operation, the client program should re-invoke the method using the same arguments as the original invocation.

reqCtls is used when creating the connection to the referred server. These controls will be used as the connection request controls for the context and context instances derived from the context. reqCtls will also be the context's request controls for subsequent context operations. See the LdapContext class description for details.

This method should be used instead of the other two overloaded forms when the caller needs to supply request controls for creating the referral context. It might need to do this, for example, when it needs to supply special controls relating to authentication.

Service provider implementors should read the "Service Provider" section in the LdapContext class description for implementation details.

Parameters
env:Hashtable<?, ?>

The possibly null environment properties to use when for the new context. If null, the context is initialized with no environment properties.

reqCtls:Control[]

The possibly null request controls to use for the new context. If null or the empty array means use no request controls.

Returns:Context

The non-null context at which to continue the method.

Exceptions
NamingException:
If a naming exception was encountered. Call either retryReferral() or skipReferral() to continue processing referrals.