Class LinkRef
- All Implemented Interfaces:
Serializable, Cloneable
The name is a URL, or a name to be resolved relative to the initial context, or if the first character of the name is ".", the name is relative to the context in which the link is bound.
Normal resolution of names in context operations always follow links. Resolution of the link name itself may cause resolution to pass through other links. This gives rise to the possibility of a cycle of links whose resolution could not terminate normally. As a simple means to avoid such non-terminating resolutions, service providers may define limits on the number of links that may be involved in any single operation invoked by the caller.
A LinkRef contains a single StringRefAddr, whose type is "LinkAddress", and whose contents is the link name. The class name field of the Reference is that of this (LinkRef) class.
LinkRef is bound to a name using the normal Context.bind()/rebind(), and DirContext.bind()/rebind(). Context.lookupLink() is used to retrieve the link itself if the terminal atomic name is bound to a link.
Many naming systems support a native notion of link that may be used within the naming system itself. JNDI does not specify whether there is any relationship between such native links and JNDI links.
A LinkRef instance is not synchronized against concurrent access by multiple threads. Threads that need to access a LinkRef instance concurrently should synchronize amongst themselves and provide the necessary locking.
- Since:
- 1.3
- See Also:
-
Field Summary
Fields declared in class Reference
addrs, classFactory, classFactoryLocation, className
Modifier and TypeFieldDescriptionContains the addresses contained in this Reference.protected String
Contains the name of the factory class for creating an instance of the object to which this Reference refers.protected String
Contains the location of the factory class.protected String
Contains the fully-qualified name of the class of the object to which this Reference refers. -
Constructor Summary
Constructors -
Method Summary
Methods declared in class Reference
add, add, clear, clone, equals, get, get, getAll, getClassName, getFactoryClassLocation, getFactoryClassName, hashCode, remove, size, toString
Modifier and TypeMethodDescriptionvoid
Adds an address to the list of addresses at index posn.void
Adds an address to the end of the list of addresses.void
clear()
Deletes all addresses from this reference.clone()
Makes a copy of this reference using its class name list of addresses, class factory name and class factory location.boolean
Determines whether obj is a reference with the same addresses (in same order) as this reference.get
(int posn) Retrieves the address at index posn.Retrieves the first address that has the address type 'addrType'.getAll()
Retrieves an enumeration of the addresses in this reference.Retrieves the class name of the object to which this reference refers.Retrieves the location of the factory of the object to which this reference refers.Retrieves the class name of the factory of the object to which this reference refers.int
hashCode()
Computes the hash code of this reference.remove
(int posn) Deletes the address at index posn from the list of addresses.int
size()
Retrieves the number of addresses in this reference.toString()
Generates the string representation of this reference.Methods declared in class Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Modifier and TypeMethodDescriptionprotected 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 thisObject
.final void
notify()
Wakes up a single thread that is waiting on this object's monitor.final void
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
(long timeoutMillis) 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
(long timeoutMillis, int nanos) 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
-
LinkRef
Constructs a LinkRef for a name.- Parameters:
linkName
- The non-null name for which to create this link.
-
LinkRef
Constructs a LinkRef for a string name.- Parameters:
linkName
- The non-null name for which to create this link.
-
-
Method Details
-
getLinkName
Retrieves the name of this link.- Returns:
- The non-null name of this link.
- Throws:
MalformedLinkException
- If a link name could not be extractedNamingException
- If a naming exception was encountered.
-