/*
* @(#)LinkException.java 1.8 03/12/19
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package javax.naming;
/**
* This exception is used to describe problems encounter while resolving links.
* Addition information is added to the base NamingException for pinpointing
* the problem with the link.
*<p>
* Analogous to how NamingException captures name resolution information,
* LinkException captures "link"-name resolution information pinpointing
* the problem encountered while resolving a link. All these fields may
* be null.
* <ul>
* <li> Link Resolved Name. Portion of link name that has been resolved.
* <li> Link Resolved Object. Object to which resolution of link name proceeded.
* <li> Link Remaining Name. Portion of link name that has not been resolved.
* <li> Link Explanation. Detail explaining why link resolution failed.
*</ul>
*
*<p>
* A LinkException instance is not synchronized against concurrent
* multithreaded access. Multiple threads trying to access and modify
* a single LinkException instance should lock the object.
*
* @author Rosanna Lee
* @author Scott Seligman
* @version 1.8 03/12/19
*
* @see Context#lookupLink
* @see LinkRef
* @since 1.3
*/
/*<p>
* The serialized form of a LinkException object consists of the
* serialized fields of its NamingException superclass, the link resolved
* name (a Name object), the link resolved object, link remaining name
* (a Name object), and the link explanation String.
*/
public class LinkException extends NamingException {
/**
* Contains the part of the link that has been successfully resolved.
* It is a composite name and can be null.
* This field is initialized by the constructors.
* You should access and manipulate this field
* through its get and set methods.
* @serial
* @see #getLinkResolvedName
* @see #setLinkResolvedName
*/
protected Name linkResolvedName;
/**
* Contains the object to which resolution of the part of the link was successful.
* Can be null. This field is initialized by the constructors.
* You should access and manipulate this field
* through its get and set methods.
* @serial
* @see #getLinkResolvedObj
* @see #setLinkResolvedObj
*/
protected Object linkResolvedObj;
/**
* Contains the remaining link name that has not been resolved yet.
* It is a composite name and can be null.
* This field is initialized by the constructors.
* You should access and manipulate this field
* through its get and set methods.
* @serial
* @see #getLinkRemainingName
* @see #setLinkRemainingName
*/
protected Name linkRemainingName;
/**
* Contains the exception of why resolution of the link failed.
* Can be null. This field is initialized by the constructors.
* You should access and manipulate this field
* through its get and set methods.
* @serial
* @see #getLinkExplanation
* @see #setLinkExplanation
*/
protected String linkExplanation;
/**
* Constructs a new instance of LinkException with an explanation
* All the other fields are initialized to null.
* @param explanation A possibly null string containing additional
* detail about this exception.
=1= |