Package org.apache.naming
Class NamingContext
- java.lang.Object
-
- org.apache.naming.NamingContext
-
- All Implemented Interfaces:
javax.naming.Context
public class NamingContext extends java.lang.Object implements javax.naming.Context
Catalina JNDI Context implementation.- Author:
- Remy Maucherat
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.HashMap<java.lang.String,NamingEntry>
bindings
Bindings in this Context.protected java.util.Hashtable<java.lang.String,java.lang.Object>
env
Environment.protected java.lang.String
name
Name of the associated Catalina Context.protected static javax.naming.NameParser
nameParser
Name parser for this context.protected static StringManager
sm
The string manager for this package.
-
Constructor Summary
Constructors Constructor Description NamingContext(java.util.Hashtable<java.lang.String,java.lang.Object> env, java.lang.String name)
Builds a naming context.NamingContext(java.util.Hashtable<java.lang.String,java.lang.Object> env, java.lang.String name, java.util.HashMap<java.lang.String,NamingEntry> bindings)
Builds a naming context.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
addToEnvironment(java.lang.String propName, java.lang.Object propVal)
void
bind(java.lang.String name, java.lang.Object obj)
void
bind(javax.naming.Name name, java.lang.Object obj)
protected void
bind(javax.naming.Name name, java.lang.Object obj, boolean rebind)
Binds a name to an object.protected boolean
checkWritable()
Throws a naming exception is Context is not writable.void
close()
java.lang.String
composeName(java.lang.String name, java.lang.String prefix)
javax.naming.Name
composeName(javax.naming.Name name, javax.naming.Name prefix)
javax.naming.Context
createSubcontext(java.lang.String name)
javax.naming.Context
createSubcontext(javax.naming.Name name)
void
destroySubcontext(java.lang.String name)
void
destroySubcontext(javax.naming.Name name)
java.util.Hashtable<?,?>
getEnvironment()
boolean
getExceptionOnFailedWrite()
java.lang.String
getNameInNamespace()
javax.naming.NameParser
getNameParser(java.lang.String name)
javax.naming.NameParser
getNameParser(javax.naming.Name name)
protected boolean
isWritable()
javax.naming.NamingEnumeration<javax.naming.NameClassPair>
list(java.lang.String name)
javax.naming.NamingEnumeration<javax.naming.NameClassPair>
list(javax.naming.Name name)
javax.naming.NamingEnumeration<javax.naming.Binding>
listBindings(java.lang.String name)
javax.naming.NamingEnumeration<javax.naming.Binding>
listBindings(javax.naming.Name name)
java.lang.Object
lookup(java.lang.String name)
java.lang.Object
lookup(javax.naming.Name name)
protected java.lang.Object
lookup(javax.naming.Name name, boolean resolveLinks)
Retrieves the named object.java.lang.Object
lookupLink(java.lang.String name)
java.lang.Object
lookupLink(javax.naming.Name name)
void
rebind(java.lang.String name, java.lang.Object obj)
void
rebind(javax.naming.Name name, java.lang.Object obj)
java.lang.Object
removeFromEnvironment(java.lang.String propName)
void
rename(java.lang.String oldName, java.lang.String newName)
void
rename(javax.naming.Name oldName, javax.naming.Name newName)
void
setExceptionOnFailedWrite(boolean exceptionOnFailedWrite)
void
unbind(java.lang.String name)
void
unbind(javax.naming.Name name)
-
-
-
Field Detail
-
nameParser
protected static final javax.naming.NameParser nameParser
Name parser for this context.
-
env
protected final java.util.Hashtable<java.lang.String,java.lang.Object> env
Environment.
-
sm
protected static final StringManager sm
The string manager for this package.
-
bindings
protected final java.util.HashMap<java.lang.String,NamingEntry> bindings
Bindings in this Context.
-
name
protected final java.lang.String name
Name of the associated Catalina Context.
-
-
Constructor Detail
-
NamingContext
public NamingContext(java.util.Hashtable<java.lang.String,java.lang.Object> env, java.lang.String name)
Builds a naming context.- Parameters:
env
- The environment to use to construct the naming contextname
- The name of the associated Catalina Context
-
NamingContext
public NamingContext(java.util.Hashtable<java.lang.String,java.lang.Object> env, java.lang.String name, java.util.HashMap<java.lang.String,NamingEntry> bindings)
Builds a naming context.- Parameters:
env
- The environment to use to construct the naming contextname
- The name of the associated Catalina Contextbindings
- The initial bindings for the naming context
-
-
Method Detail
-
getExceptionOnFailedWrite
public boolean getExceptionOnFailedWrite()
-
setExceptionOnFailedWrite
public void setExceptionOnFailedWrite(boolean exceptionOnFailedWrite)
-
lookup
public java.lang.Object lookup(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
lookup
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
lookup
public java.lang.Object lookup(java.lang.String name) throws javax.naming.NamingException
- Specified by:
lookup
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
bind
public void bind(javax.naming.Name name, java.lang.Object obj) throws javax.naming.NamingException
- Specified by:
bind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
bind
public void bind(java.lang.String name, java.lang.Object obj) throws javax.naming.NamingException
- Specified by:
bind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
rebind
public void rebind(javax.naming.Name name, java.lang.Object obj) throws javax.naming.NamingException
- Specified by:
rebind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
rebind
public void rebind(java.lang.String name, java.lang.Object obj) throws javax.naming.NamingException
- Specified by:
rebind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
unbind
public void unbind(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
unbind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
unbind
public void unbind(java.lang.String name) throws javax.naming.NamingException
- Specified by:
unbind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
rename
public void rename(javax.naming.Name oldName, javax.naming.Name newName) throws javax.naming.NamingException
- Specified by:
rename
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
rename
public void rename(java.lang.String oldName, java.lang.String newName) throws javax.naming.NamingException
- Specified by:
rename
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
list
public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
list
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
list
public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list(java.lang.String name) throws javax.naming.NamingException
- Specified by:
list
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
listBindings
public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
listBindings
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
listBindings
public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings(java.lang.String name) throws javax.naming.NamingException
- Specified by:
listBindings
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
destroySubcontext
public void destroySubcontext(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
destroySubcontext
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
destroySubcontext
public void destroySubcontext(java.lang.String name) throws javax.naming.NamingException
- Specified by:
destroySubcontext
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
createSubcontext
public javax.naming.Context createSubcontext(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
createSubcontext
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
createSubcontext
public javax.naming.Context createSubcontext(java.lang.String name) throws javax.naming.NamingException
- Specified by:
createSubcontext
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
lookupLink
public java.lang.Object lookupLink(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
lookupLink
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
lookupLink
public java.lang.Object lookupLink(java.lang.String name) throws javax.naming.NamingException
- Specified by:
lookupLink
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
getNameParser
public javax.naming.NameParser getNameParser(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
getNameParser
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
getNameParser
public javax.naming.NameParser getNameParser(java.lang.String name) throws javax.naming.NamingException
- Specified by:
getNameParser
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
composeName
public javax.naming.Name composeName(javax.naming.Name name, javax.naming.Name prefix) throws javax.naming.NamingException
- Specified by:
composeName
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
composeName
public java.lang.String composeName(java.lang.String name, java.lang.String prefix)
- Specified by:
composeName
in interfacejavax.naming.Context
-
addToEnvironment
public java.lang.Object addToEnvironment(java.lang.String propName, java.lang.Object propVal)
- Specified by:
addToEnvironment
in interfacejavax.naming.Context
-
removeFromEnvironment
public java.lang.Object removeFromEnvironment(java.lang.String propName)
- Specified by:
removeFromEnvironment
in interfacejavax.naming.Context
-
getEnvironment
public java.util.Hashtable<?,?> getEnvironment()
- Specified by:
getEnvironment
in interfacejavax.naming.Context
-
close
public void close() throws javax.naming.NamingException
- Specified by:
close
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
getNameInNamespace
public java.lang.String getNameInNamespace() throws javax.naming.NamingException
- Specified by:
getNameInNamespace
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
-
lookup
protected java.lang.Object lookup(javax.naming.Name name, boolean resolveLinks) throws javax.naming.NamingException
Retrieves the named object.- Parameters:
name
- the name of the object to look upresolveLinks
- If true, the links will be resolved- Returns:
- the object bound to name
- Throws:
javax.naming.NamingException
- if a naming exception is encountered
-
bind
protected void bind(javax.naming.Name name, java.lang.Object obj, boolean rebind) throws javax.naming.NamingException
Binds a name to an object. All intermediate contexts and the target context (that named by all but terminal atomic component of the name) must already exist.- Parameters:
name
- the name to bind; may not be emptyobj
- the object to bind; possibly nullrebind
- if true, then perform a rebind (ie, overwrite)- Throws:
javax.naming.NameAlreadyBoundException
- if name is already boundjavax.naming.directory.InvalidAttributesException
- if object did not supply all mandatory attributesjavax.naming.NamingException
- if a naming exception is encountered
-
isWritable
protected boolean isWritable()
- Returns:
true
if writing is allowed on this context.
-
checkWritable
protected boolean checkWritable() throws javax.naming.NamingException
Throws a naming exception is Context is not writable.- Returns:
true
if the Context is writable- Throws:
javax.naming.NamingException
- if the Context is not writable andexceptionOnFailedWrite
istrue
-
-