Package 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 java.lang.Object
NamingEntryBase 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 Modifier and Type Field Description static java.lang.String
__contextName
protected java.lang.String
_jndiName
protected java.lang.String
_namingEntryNameString
protected java.lang.String
_objectNameString
protected java.lang.Object
_scope
-
Constructor Summary
Constructors Modifier Constructor Description protected
NamingEntry(java.lang.Object scope, java.lang.String jndiName)
Create a naming entry.protected
NamingEntry(java.lang.String jndiName)
Create a NamingEntry.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bindToENC(java.lang.String localName)
Add ajava:comp/env
binding for the object represented by this NamingEntry, but bind it as the name suppliedjava.lang.String
getJndiName()
Get the unique name of the object relative to the scopejava.lang.String
getJndiNameInScope()
Get the name of the object, fully qualified with the scopevoid
release()
Unbind this NamingEntry entirelyprotected void
save(java.lang.Object object)
Save the NamingEntry for later use.java.lang.String
toString()
protected java.lang.String
toStringMetaData()
void
unbindENC()
Unbind this NamingEntry from a java:comp/env
-
-
-
Field Detail
-
__contextName
public static final java.lang.String __contextName
- See Also:
- Constant Field Values
-
_scope
protected final java.lang.Object _scope
-
_jndiName
protected final java.lang.String _jndiName
-
_namingEntryNameString
protected java.lang.String _namingEntryNameString
-
_objectNameString
protected java.lang.String _objectNameString
-
-
Constructor Detail
-
NamingEntry
protected NamingEntry(java.lang.Object scope, java.lang.String jndiName) throws javax.naming.NamingException
Create a naming entry.- Parameters:
scope
- an object representing the scope of the name to be bound into jndi, where null means jvm scope.jndiName
- the name that will be associated with an object bound into jndi- Throws:
javax.naming.NamingException
- if jndiName is null
-
NamingEntry
protected NamingEntry(java.lang.String jndiName) 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- Throws:
javax.naming.NamingException
- if unable to create naming entry
-
-
Method Detail
-
bindToENC
public void bindToENC(java.lang.String localName) throws javax.naming.NamingException
Add ajava:comp/env
binding for the object represented by this NamingEntry, but bind it as the name supplied- Parameters:
localName
- the local name to bind- Throws:
javax.naming.NamingException
- if unable to bind
-
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:
- the unique jndi name of the object
-
getJndiNameInScope
public java.lang.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(java.lang.Object object) throws javax.naming.NamingException
Save the NamingEntry for later use.Saving is done by binding both 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 scope/jndiName and the NamingEntry is bound at scope/__/jndiName.
eg
jdbc/foo : DataSource __/jdbc/foo : NamingEntry
- Parameters:
object
- the object to save- Throws:
javax.naming.NamingException
- if unable to save- See Also:
NamingEntryUtil.getNameForScope(Object)
-
toStringMetaData
protected java.lang.String toStringMetaData()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-