## org.mortbay.jetty.plus.naming
Class NamingEntry

    java.lang.Object
      org.mortbay.jetty.plus.naming.NamingEntry

Direct Known Subclasses:
  EnvEntry, Link, Resource, Transaction

    public abstract class NamingEntry

extends java.lang.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
`static java.lang.String` `__contextName`
`protected java.lang.String` `jndiName`
`protected java.lang.String` `namingEntryNameString`
`protected java.lang.String` `objectNameString`
`protected java.lang.Object` `objectToBind`

Constructor Summary
`NamingEntry(java.lang.Object scope, java.lang.String jndiName, java.lang.Object object)`
`NamingEntry(java.lang.String jndiName, java.lang.Object object)` Create a NamingEntry.

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

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### __contextName

    public static final java.lang.String __contextName

See Also:
  Constant Field Values

### jndiName

    protected java.lang.String jndiName

### objectToBind

    protected java.lang.Object objectToBind

### namingEntryNameString

    protected java.lang.String namingEntryNameString

### objectNameString

    protected java.lang.String objectNameString

Constructor Detail

### NamingEntry

    public NamingEntry(java.lang.Object scope,
                       java.lang.String jndiName,
                       java.lang.Object object)
                throws javax.naming.NamingException

Throws:
  `javax.naming.NamingException`

### NamingEntry

    public NamingEntry(java.lang.String jndiName,
                       java.lang.Object object)
                throws javax.naming.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
    `object` - the object to be bound
  Throws:
    `javax.naming.NamingException`

Method Detail

### bindToENC

    public void bindToENC(java.lang.String localName)
                   throws javax.naming.NamingException

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

  Throws:
    `javax.naming.NamingException`

### unbindENC

    public void unbindENC()

  Unbind this NamingEntry from a java:comp/env

### release

    public void release()

  Unbind this NamingEntry entirely

### getJndiName

    public java.lang.String getJndiName()

  Get the unique name of the object relative to the scope

  Returns:

### getObjectToBind

    public java.lang.Object getObjectToBind()
                                     throws javax.naming.NamingException

  Get the object that is to be bound

  Returns:
  Throws:
    `javax.naming.NamingException`

### getJndiNameInScope

    public java.lang.String getJndiNameInScope()

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

  Returns:

### save

    protected void save(java.lang.Object scope)
                 throws javax.naming.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:
    `javax.naming.NamingException`

Copyright © 1995-2010 Mort Bay Consulting. All Rights Reserved.