NameClassPair (Java SE 10 & JDK 10 )
Keywords: javax.naming.NameClassPair class

Module java.naming
Package javax.naming

## Class NameClassPair

- java.lang.Object
- - javax.naming.NameClassPair

- All Implemented Interfaces:
    `Serializable`
  Direct Known Subclasses:
    `Binding`

      public class NameClassPair
      extends Object
      implements Serializable

  This class represents the object name and class name pair of a binding found in a context.

  A context consists of name-to-object bindings. The NameClassPair class represents the name and the class of the bound object. It consists of a name and a string representing the package-qualified class name.

  Use subclassing for naming systems that generate contents of a name/class pair dynamically.

  A NameClassPair instance is not synchronized against concurrent access by multiple threads. Threads that need to access a NameClassPair concurrently should synchronize amongst themselves and provide the necessary locking.

  Since:
    1.3
  See Also:
    `Context.list(javax.naming.Name)`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `NameClassPair​(String name, String className)` | Constructs an instance of a NameClassPair given its name and class name.
    `NameClassPair​(String name, String className, boolean isRelative)` | Constructs an instance of a NameClassPair given its name, class name, and whether it is relative to the listing context.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getClassName()` | Retrieves the class name of the object bound to the name of this binding.
    `String` | `getName()` | Retrieves the name of this binding.
    `String` | `getNameInNamespace()` | Retrieves the full name of this binding.
    `boolean` | `isRelative()` | Determines whether the name of this binding is relative to the target context (which is named by the first parameter of the `list()` method).
    `void` | `setClassName​(String name)` | Sets the class name of this binding.
    `void` | `setName​(String name)` | Sets the name of this binding.
    `void` | `setNameInNamespace​(String fullName)` | Sets the full name of this binding.
    `void` | `setRelative​(boolean r)` | Sets whether the name of this binding is relative to the target context (which is named by the first parameter of the `list()` method).
    `String` | `toString()` | Generates the string representation of this name/class pair.

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### NameClassPair

          public NameClassPair​(String name,
                               String className)

      Constructs an instance of a NameClassPair given its name and class name.
      Parameters:
        `name` - The non-null name of the object. It is relative to the target context (which is named by the first parameter of the `list()` method)
        `className` - The possibly null class name of the object bound to name. It is null if the object bound is null.
      See Also:
        `getClassName()`, `setClassName(java.lang.String)`, `getName()`, `setName(java.lang.String)`

    - #### NameClassPair

          public NameClassPair​(String name,
                               String className,
                               boolean isRelative)

      Constructs an instance of a NameClassPair given its name, class name, and whether it is relative to the listing context.
      Parameters:
        `name` - The non-null name of the object.
        `className` - The possibly null class name of the object bound to name. It is null if the object bound is null.
        `isRelative` - true if `name` is a name relative to the target context (which is named by the first parameter of the `list()` method); false if `name` is a URL string.
      See Also:
        `getClassName()`, `setClassName(java.lang.String)`, `getName()`, `setName(java.lang.String)`, `isRelative()`, `setRelative(boolean)`

  - ### Method Detail

    - #### getClassName

          public String getClassName()

      Retrieves the class name of the object bound to the name of this binding. If a reference or some other indirect information is bound, retrieves the class name of the eventual object that will be returned by `Binding.getObject()`.
      Returns:
        The possibly null class name of object bound. It is null if the object bound is null.
      See Also:
        `Binding.getObject()`, `Binding.getClassName()`, `setClassName(java.lang.String)`

    - #### getName

          public String getName()

      Retrieves the name of this binding. If `isRelative()` is true, this name is relative to the target context (which is named by the first parameter of the `list()`). If `isRelative()` is false, this name is a URL string.
      Returns:
        The non-null name of this binding.
      See Also:
        `isRelative()`, `setName(java.lang.String)`

    - #### setName

          public void setName​(String name)

      Sets the name of this binding.
      Parameters:
        `name` - the non-null string to use as the name.
      See Also:
        `getName()`, `setRelative(boolean)`

    - #### setClassName

          public void setClassName​(String name)

      Sets the class name of this binding.
      Parameters:
        `name` - the possibly null string to use as the class name. If null, `Binding.getClassName()` will return the actual class name of the object in the binding. The class name will be null if the object bound is null.
      See Also:
        `getClassName()`, `Binding.getClassName()`

    - #### isRelative

          public boolean isRelative()

      Determines whether the name of this binding is relative to the target context (which is named by the first parameter of the `list()` method).
      Returns:
        true if the name of this binding is relative to the target context; false if the name of this binding is a URL string.
      See Also:
        `setRelative(boolean)`, `getName()`

    - #### setRelative

          public void setRelative​(boolean r)

      Sets whether the name of this binding is relative to the target context (which is named by the first parameter of the `list()` method).
      Parameters:
        `r` - If true, the name of binding is relative to the target context; if false, the name of binding is a URL string.
      See Also:
        `isRelative()`, `setName(java.lang.String)`

    - #### getNameInNamespace

          public String getNameInNamespace()

      Retrieves the full name of this binding. The full name is the absolute name of this binding within its own namespace. See `Context.getNameInNamespace()`.

      In naming systems for which the notion of full name does not apply to this binding an `UnsupportedOperationException` is thrown. This exception is also thrown when a service provider written before the introduction of the method is in use.

      The string returned by this method is not a JNDI composite name and should not be passed directly to context methods.

      Returns:
        The full name of this binding.
      Throws:
        `UnsupportedOperationException` - if the notion of full name does not apply to this binding in the naming system.
      Since:
        1.5
      See Also:
        `setNameInNamespace(java.lang.String)`, `getName()`

    - #### setNameInNamespace

          public void setNameInNamespace​(String fullName)

      Sets the full name of this binding. This method must be called to set the full name whenever a `NameClassPair` is created and a full name is applicable to this binding.

      Setting the full name to null, or not setting it at all, will cause `getNameInNamespace()` to throw an exception.

      Parameters:
        `fullName` - The full name to use.
      Since:
        1.5
      See Also:
        `getNameInNamespace()`, `setName(java.lang.String)`

    - #### toString

          public String toString()

      Generates the string representation of this name/class pair. The string representation consists of the name and class name separated by a colon (':'). The contents of this string is useful for debugging and is not meant to be interpreted programmatically.
      Overrides:
        `toString` in class `Object`
      Returns:
        The string representation of this name/class pair.