org.eclipse.jetty.plus.jndi

## Class NamingEntry

- java.lang.Object
- - org.eclipse.jetty.plus.jndi.NamingEntry

Direct Known Subclasses:
  EnvEntry, Link, Resource, Transaction

    public abstract class NamingEntry
    extends Object

NamingEntry Base class for all jndi related entities. Instances of subclasses of this class are declared in jetty.xml or in a webapp's WEB-INF/jetty-env.xml file. NOTE: that all NamingEntries will be bound in a single namespace. The "global" level is just in the top level context. The "local" level is a context specific to a webapp.

### Field Summary

Fields
`static String` `__contextName`
`protected String` `_jndiName`
`protected String` `_namingEntryNameString`
`protected String` `_objectNameString`
`protected Object` `_scope`

### Constructor Summary

Constructors
`protected` `NamingEntry(Object scope, String jndiName)`
`protected` `NamingEntry(String jndiName)` Create a NamingEntry.

### Method Summary

Methods
`void` `bindToENC(String localName)` Add a java:comp/env binding for the object represented by this NamingEntry, but bind it as the name supplied
`String` `getJndiName()` Get the unique name of the object relative to the scope
`String` `getJndiNameInScope()` Get the name of the object, fully qualified with the scope
`void` `release()` Unbind this NamingEntry entirely
`protected void` `save(Object object)` Save the NamingEntry for later use.
`String` `toString()`
`void` `unbindENC()` Unbind this NamingEntry from a java:comp/env

### Methods inherited from class java.lang.Object

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

### Field Detail

#### __contextName

    public static final String __contextName

See Also:
  Constant Field Values

#### _scope

    protected final Object _scope

#### _jndiName

    protected final String _jndiName

#### _namingEntryNameString

    protected String _namingEntryNameString

#### _objectNameString

    protected String _objectNameString

### Constructor Detail

#### NamingEntry

    protected NamingEntry(Object scope,
               String jndiName)
                   throws NamingException

Throws:
  `NamingException`

#### NamingEntry

    protected NamingEntry(String jndiName)
                   throws NamingException

Create a NamingEntry. A NamingEntry is a name associated with a value which can later be looked up in JNDI by a webapp. We create the NamingEntry and put it into JNDI where it can be linked to the webapp's env-entry, resource-ref etc entries.

Parameters:
  `jndiName` - the name of the object which will eventually be in java:comp/env
Throws:
  `NamingException`

### Method Detail

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### bindToENC

    public void bindToENC(String localName)
                   throws NamingException

Add a java:comp/env binding for the object represented by this NamingEntry, but bind it as the name supplied

Throws:
  `NamingException`

#### unbindENC

    public void unbindENC()

Unbind this NamingEntry from a java:comp/env

#### release

    public void release()

Unbind this NamingEntry entirely

#### getJndiName

    public String getJndiName()

Get the unique name of the object relative to the scope

Returns:
  the unique jndi name of the object

#### getJndiNameInScope

    public String getJndiNameInScope()

Get the name of the object, fully qualified with the scope

Returns:
  the name of the object, fully qualified with the scope

#### save

    protected void save(Object object)
                 throws NamingException

Save the NamingEntry for later use. Saving is done by binding the NamingEntry itself, and the value it represents into JNDI. In this way, we can link to the value it represents later, but also still retrieve the NamingEntry itself too. The object is bound at the jndiName passed in. This NamingEntry is bound at __/jndiName. eg jdbc/foo : DataSource __/jdbc/foo : NamingEntry

Throws:
  `NamingException`