# Class RefAddr

java.lang.Object
javax.naming.RefAddr

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `BinaryRefAddr, StringRefAddr`

public abstract class RefAddr extends Object implements Serializable
This class represents the address of a communications end-point. It consists of a type that describes the communication mechanism and an address contents determined by an RefAddr subclass.

For example, an address type could be "BSD Printer Address", which specifies that it is an address to be used with the BSD printing protocol. Its contents could be the machine name identifying the location of the printer server that understands this protocol.

A RefAddr is contained within a Reference.

RefAddr is an abstract class. Concrete implementations of it determine its synchronization properties.

Since:
  1.3
See Also:
  - `Reference`
  - `LinkRef`
  - `StringRefAddr`
  - `BinaryRefAddr`
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String`
  `addrType`
  Contains the type of this address.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `RefAddr(String addrType)`
  Constructs a new instance of RefAddr using its address type.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Determines whether obj is equal to this RefAddr.
  `abstract Object`
  `getContent()`
  Retrieves the contents of this address.
  `String`
  `getType()`
  Retrieves the address type of this address.
  `int`
  `hashCode()`
  Computes the hash code of this address using its address type and contents.
  `String`
  `toString()`
  Generates the string representation of this address.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `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`.
  `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(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.

- ## Field Details

  - ### addrType

    protected String addrType
    Contains the type of this address.

- ## Constructor Details

  - ### RefAddr

    protected RefAddr(String addrType)
    Constructs a new instance of RefAddr using its address type.
    Parameters:
      `addrType` - A non-null string describing the type of the address.

- ## Method Details

  - ### getType

    public String getType()
    Retrieves the address type of this address.
    Returns:
      The non-null address type of this address.

  - ### getContent

    public abstract Object getContent()
    Retrieves the contents of this address.
    Returns:
      The possibly null address contents.

  - ### equals

    public boolean equals(Object obj)
    Determines whether obj is equal to this RefAddr.

    obj is equal to this RefAddr if all of these conditions are true

    - non-null
    - instance of RefAddr
    - obj has the same address type as this RefAddr (using String.compareTo())
    - both obj and this RefAddr's contents are null or they are equal (using the equals() test).
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - possibly null obj to check.
    Returns:
      true if obj is equal to this refaddr; false otherwise.
    See Also:
      - `getContent()`
      - `getType()`

  - ### hashCode

    public int hashCode()
    Computes the hash code of this address using its address type and contents. The hash code is the sum of the hash code of the address type and the hash code of the address contents.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      The hash code of this address as an int.
    See Also:
      - `Object.hashCode()`

  - ### toString

    public String toString()
    Generates the string representation of this address. The string consists of the address's type and contents with labels. This representation is intended for display only and not to be parsed.
    Overrides:
      `toString` in class `Object`
    Returns:
      The non-null string representation of this address.