- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- javax.naming.NamingException
-
- javax.naming.ReferralException
-
- All Implemented Interfaces:
- Serializable
- Direct Known Subclasses:
- LdapReferralException
public abstract class ReferralException extends NamingException
This abstract class is used to represent a referral exception, which is generated in response to a referral such as that returned by LDAP v3 servers.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:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class javax.naming.NamingException
remainingName, resolvedName, resolvedObj, rootException
-
-
Constructor Summary
Constructors Modifier Constructor and Description protected
ReferralException()
Constructs a new instance of ReferralException.protected
ReferralException(String explanation)
Constructs a new instance of ReferralException using the explanation supplied.
-
Method Summary
Methods Modifier and Type Method and Description abstract Context
getReferralContext()
Retrieves the context at which to continue the method.abstract Context
getReferralContext(Hashtable<?,?> env)
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 inherited from class javax.naming.NamingException
appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString, toString
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace
-
-
-
-
Constructor Detail
-
ReferralException
protected ReferralException(String explanation)
Constructs a new instance of ReferralException using the explanation supplied. All other fields are set to null.- Parameters:
explanation
- Additional detail about this exception. Can be null.- See Also:
Throwable.getMessage()
-
ReferralException
protected ReferralException()
Constructs a new instance of ReferralException. All fields are set to null.
-
-
Method Detail
-
getReferralInfo
public abstract Object getReferralInfo()
Retrieves information (such as URLs) related to this referral. The program may examine or display this information to the user to determine whether to continue with the referral, or to determine additional information needs to be supplied in order to continue with the referral.- Returns:
- Non-null referral information related to this referral.
-
getReferralContext
public abstract Context getReferralContext() throws NamingException
Retrieves the context at which to continue the method. 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. The referral context is created using the environment properties of the context that threw the ReferralException.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 either retryReferral() or skipReferral() to continue processing referrals.
-
getReferralContext
public abstract Context getReferralContext(Hashtable<?,?> env) throws NamingException
Retrieves the context at which to continue the method using 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.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 either retryReferral() or skipReferral() to continue processing referrals.
-
skipReferral
public abstract boolean skipReferral()
Discards the referral about to be processed. A call to this method should be followed by a call togetReferralContext
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()
Retries the referral currently being processed. A call to this method should be followed by a call togetReferralContext
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(); } } }
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-javax/naming/referralexception.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.