Class LinkRef

All Implemented Interfaces:
Serializable, Cloneable

public class LinkRef extends Reference
This class represents a Reference whose contents is a name, called the link name, that is bound to an atomic name in a context.

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 Type
    Field
    Description
    protected Vector<RefAddr>
    Contains 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
    Constructor
    Description
    LinkRef(String linkName)
    Constructs a LinkRef for a string name.
    LinkRef(Name linkName)
    Constructs a LinkRef for a name.
  • Method Summary

    Modifier and Type
    Method
    Description
    Retrieves the name of this link.

    Methods declared in class Reference

    add, add, clear, clone, equals, get, get, getAll, getClassName, getFactoryClassLocation, getFactoryClassName, hashCode, remove, size, toString
    Modifier and Type
    Method
    Description
    void
    add(int posn, RefAddr addr)
    Adds an address to the list of addresses at index posn.
    void
    add(RefAddr addr)
    Adds an address to the end of the list of addresses.
    void
    Deletes all addresses from this reference.
    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.
    get(String addrType)
    Retrieves the first address that has the address type 'addrType'.
    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
    Computes the hash code of this reference.
    remove(int posn)
    Deletes the address at index posn from the list of addresses.
    int
    Retrieves the number of addresses in this reference.
    Generates the string representation of this reference.

    Methods declared in class Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected void
    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<?>
    Returns the runtime class of this Object.
    final void
    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
    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

      public LinkRef(Name linkName)
      Constructs a LinkRef for a name.
      Parameters:
      linkName - The non-null name for which to create this link.
    • LinkRef

      public LinkRef(String linkName)
      Constructs a LinkRef for a string name.
      Parameters:
      linkName - The non-null name for which to create this link.
  • Method Details