Class ReferralException
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
LdapReferralException
public abstract class ReferralException extends NamingException
A service provider provides a subclass of ReferralException by providing implementations for getReferralInfo() and getReferralContext() (and appropriate constructors and/or corresponding "set" methods).
The following code sample shows how ReferralException can be used.
while (true) { try { bindings = ctx.listBindings(name); while (bindings.hasMore()) { b = bindings.next(); ... } break; } catch (ReferralException e) { ctx = e.getReferralContext(); } }
ReferralException is an abstract class. Concrete implementations determine its synchronization and serialization properties.
An environment parameter passed to the getReferralContext() method is owned by the caller. The service provider will not modify the object or keep a reference to it, but may keep a reference to a clone of it.
- Since:
- 1.3
- See Also:
Field Summary
Fields declared in class NamingException
remainingName, resolvedName, resolvedObj, rootException | Modifier and Type | Field | Description |
|---|---|---|
protected Name |
remainingName |
Contains the remaining name that has not been resolved yet. |
protected Name |
resolvedName |
Contains the part of the name that has been successfully resolved. |
protected Object |
resolvedObj |
Contains the object to which resolution of the part of the name was successful. |
protected Throwable |
rootException |
Contains the original exception that caused this NamingException to be thrown. |
Constructor Summary
| Modifier | Constructor | Description |
|---|---|---|
protected |
Constructs a new instance of ReferralException. |
|
protected |
Constructs a new instance of ReferralException using the explanation supplied. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
abstract Context |
getReferralContext() |
Retrieves the context at which to continue the method. |
abstract Context |
getReferralContext |
Retrieves the context at which to continue the method using environment properties. |
abstract Object |
getReferralInfo() |
Retrieves information (such as URLs) related to this referral. |
abstract void |
retryReferral() |
Retries the referral currently being processed. |
abstract boolean |
skipReferral() |
Discards the referral about to be processed. |
Methods declared in class NamingException
appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString, toString | Modifier and Type | Method | Description |
|---|---|---|
void |
appendRemainingComponent |
Add name as the last component in remaining name. |
void |
appendRemainingName |
Add components from 'name' as the last components in remaining name. |
Throwable |
getCause() |
Returns the cause of this exception. |
String |
getExplanation() |
Retrieves the explanation associated with this exception. |
Name |
getRemainingName() |
Retrieves the remaining unresolved portion of the name. |
Name |
getResolvedName() |
Retrieves the leading portion of the name that was resolved successfully. |
Object |
getResolvedObj() |
Retrieves the object to which resolution was successful. |
Throwable |
getRootCause() |
Retrieves the root cause of this NamingException, if any. |
Throwable |
initCause |
Initializes the cause of this exception to the specified value. |
void |
setRemainingName |
Sets the remaining name field of this exception. |
void |
setResolvedName |
Sets the resolved name field of this exception. |
void |
setResolvedObj |
Sets the resolved object field of this exception. |
void |
setRootCause |
Records the root cause of this NamingException. |
String |
toString() |
Generates the string representation of this exception. |
String |
toString |
Generates the string representation in more detail. |
Methods declared in class Throwable
addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace | Modifier and Type | Method | Description |
|---|---|---|
final void |
addSuppressed |
Appends the specified exception to the exceptions that were suppressed in order to deliver this exception. |
Throwable |
fillInStackTrace() |
Fills in the execution stack trace. |
String |
getLocalizedMessage() |
Creates a localized description of this throwable. |
String |
getMessage() |
Returns the detail message string of this throwable. |
StackTraceElement[] |
getStackTrace() |
Provides programmatic access to the stack trace information printed by Throwable.printStackTrace(). |
final Throwable[] |
getSuppressed() |
Returns an array containing all of the exceptions that were suppressed, typically by the try-with-resources statement, in order to deliver this exception. |
void |
printStackTrace() |
Prints this throwable and its backtrace to the standard error stream. |
void |
printStackTrace |
Prints this throwable and its backtrace to the specified print stream. |
void |
printStackTrace |
Prints this throwable and its backtrace to the specified print writer. |
void |
setStackTrace |
Sets the stack trace elements that will be returned by Throwable.getStackTrace() and printed by Throwable.printStackTrace() and related methods. |
Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Modifier and Type | Method | Description |
|---|---|---|
protected Object |
clone() |
Creates and returns a copy of this object. |
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
protected void |
finalize() |
Deprecated, for removal: This API element is subject to removal in a future version. Finalization is deprecated and subject to removal in a future release. |
final Class |
getClass() |
Returns the runtime class of this Object. |
int |
hashCode() |
Returns a hash code value for this object. |
final void |
notify() |
Wakes up a single thread that is waiting on this object's monitor. |
final void |
notifyAll() |
Wakes up all threads that are waiting on this object's monitor. |
final void |
wait() |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
Constructor Details
ReferralException
protected ReferralException(String explanation)
- Parameters:
-
explanation- Additional detail about this exception. Can be null. - See Also:
ReferralException
protected ReferralException()
Method Details
getReferralInfo
public abstract Object getReferralInfo()
- Returns:
- Non-null referral information related to this referral.
getReferralContext
public abstract Context getReferralContext() throws NamingException
To continue the operation, the client program should re-invoke the method using the same arguments as the original invocation.
- Returns:
- The non-null context at which to continue the method.
- Throws:
-
NamingException- If a naming exception was encountered. Call eitherretryReferral()orskipReferral()to continue processing referrals.
getReferralContext
public abstract Context getReferralContext(Hashtable<?,?> env) throws NamingException
The referral context is created using env as its environment properties. This method should be used instead of the no-arg overloaded form when the caller needs to use different environment properties for the referral context. It might need to do this, for example, when it needs to supply different authentication information to the referred server in order to create the referral context.
To continue the operation, the client program should re-invoke the method using the same arguments as the original invocation.
- Parameters:
-
env- The possibly null environment to use when retrieving the referral context. If null, no environment properties will be used. - Returns:
- The non-null context at which to continue the method.
- Throws:
-
NamingException- If a naming exception was encountered. Call eitherretryReferral()orskipReferral()to continue processing referrals.
skipReferral
public abstract boolean skipReferral()
getReferralContext to allow the processing of other referrals to continue. The following code fragment shows a typical usage pattern.
} catch (ReferralException e) {
if (!shallIFollow(e.getReferralInfo())) {
if (!e.skipReferral()) {
return;
}
}
ctx = e.getReferralContext();
}
- Returns:
- true If more referral processing is pending; false otherwise.
retryReferral
public abstract void retryReferral()
getReferralContext to allow the current referral to be retried. The following code fragment shows a typical usage pattern.
} catch (ReferralException e) {
while (true) {
try {
ctx = e.getReferralContext(env);
break;
} catch (NamingException ne) {
if (! shallIRetry()) {
return;
}
// modify environment properties (env), if necessary
e.retryReferral();
}
}
}
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.