Package org.osjava.sj.jndi
Class AbstractContext
- java.lang.Object
-
- org.osjava.sj.jndi.AbstractContext
-
- All Implemented Interfaces:
java.lang.Cloneable
,javax.naming.Context
- Direct Known Subclasses:
MemoryContext
public abstract class AbstractContext extends java.lang.Object implements java.lang.Cloneable, javax.naming.Context
The heart of the system, the abstract implementation of context for simple-jndi. There are no abstract methods in this class, but it is not meant to be instantiated, but extended instead.- Since:
- Simple-JNDI 0.11
- Version:
- $Rev: 2684 $ $Date: 2008-05-24 22:19:06 -0700 (Sat, 24 May 2008) $
- Author:
- Robert M. Zigweid
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
closing
private java.util.Hashtable
env
private javax.naming.Name
nameInNamespace
private boolean
nameLock
private javax.naming.NameParser
nameParser
private static java.util.Hashtable
SUB_CONTEXTS
private java.util.Hashtable
subContexts
private java.util.Hashtable
table
private static java.util.Hashtable
TABLE
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractContext()
Creates a AbstractContext.protected
AbstractContext(boolean systemOverride)
Creates a AbstractContext.protected
AbstractContext(boolean systemOverride, javax.naming.NameParser parser)
Creates a AbstractContext.protected
AbstractContext(java.util.Hashtable env)
Creates a AbstractContext.protected
AbstractContext(java.util.Hashtable env, boolean systemOverride)
Creates a AbstractContext.protected
AbstractContext(java.util.Hashtable env, boolean systemOverride, javax.naming.NameParser parser)
Creates a AbstractContext.protected
AbstractContext(java.util.Hashtable env, javax.naming.NameParser parser)
Creates a AbstractContext.protected
AbstractContext(javax.naming.NameParser parser)
Creates a AbstractContext.protected
AbstractContext(AbstractContext that)
Create a new context based upon the environment of the passed context.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.lang.Object
addToEnvironment(java.lang.String name, java.lang.Object object)
void
bind(java.lang.String name, java.lang.Object object)
void
bind(javax.naming.Name name, java.lang.Object object)
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)
abstract javax.naming.Context
createSubcontext(javax.naming.Name name)
void
destroySubcontext(java.lang.String name)
void
destroySubcontext(javax.naming.Name name)
java.util.Hashtable
getEnvironment()
java.lang.String
getNameInNamespace()
javax.naming.NameParser
getNameParser(java.lang.String name)
javax.naming.NameParser
getNameParser(javax.naming.Name name)
protected java.util.Hashtable
getSubContexts()
Convenience method returning the subcontexts that this context parents.boolean
isEmpty()
Determine whether or not the context is empty.static boolean
isSharedAndLoaded()
Whether this context is running in shared mode AND has already been loaded with data.javax.naming.NamingEnumeration
list(java.lang.String name)
javax.naming.NamingEnumeration
list(javax.naming.Name name)
javax.naming.NamingEnumeration
listBindings(java.lang.String name)
javax.naming.NamingEnumeration
listBindings(javax.naming.Name name)
java.lang.Object
lookup(java.lang.String name)
java.lang.Object
lookup(javax.naming.Name name)
Return 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 object)
void
rebind(javax.naming.Name name, java.lang.Object object)
java.lang.Object
removeFromEnvironment(java.lang.String name)
void
rename(java.lang.String oldName, java.lang.String newName)
void
rename(javax.naming.Name oldName, javax.naming.Name newName)
protected void
setNameInNamespace(java.lang.String name)
Set the name of the Context.void
setNameInNamespace(javax.naming.Name name)
Set the name of the Context.void
unbind(java.lang.String name)
void
unbind(javax.naming.Name name)
-
-
-
Field Detail
-
TABLE
private static final java.util.Hashtable TABLE
-
SUB_CONTEXTS
private static final java.util.Hashtable SUB_CONTEXTS
-
table
private java.util.Hashtable table
-
subContexts
private java.util.Hashtable subContexts
-
env
private java.util.Hashtable env
-
nameParser
private javax.naming.NameParser nameParser
-
nameInNamespace
private javax.naming.Name nameInNamespace
-
nameLock
private boolean nameLock
-
closing
private boolean closing
-
-
Constructor Detail
-
AbstractContext
protected AbstractContext()
Creates a AbstractContext.
-
AbstractContext
protected AbstractContext(java.util.Hashtable env)
Creates a AbstractContext.- Parameters:
env
- a Hashtable containing the Context's environemnt.
-
AbstractContext
protected AbstractContext(java.util.Hashtable env, boolean systemOverride)
Creates a AbstractContext.- Parameters:
env
- a Hashtable containing the Context's environment.systemOverride
- allow System Parameters to override the environment that is passed in.
-
AbstractContext
protected AbstractContext(java.util.Hashtable env, javax.naming.NameParser parser)
Creates a AbstractContext.- Parameters:
env
- a Hashtable containing the Context's environment.parser
- the NameParser being used by the Context.
-
AbstractContext
protected AbstractContext(boolean systemOverride)
Creates a AbstractContext.- Parameters:
systemOverride
- allow System Parameters to override the environment that is passed in.
-
AbstractContext
protected AbstractContext(boolean systemOverride, javax.naming.NameParser parser)
Creates a AbstractContext.- Parameters:
systemOverride
- allow System Parameters to override the environment that is passed in.parser
- the NameParser being used by the Context.
-
AbstractContext
protected AbstractContext(javax.naming.NameParser parser)
Creates a AbstractContext.- Parameters:
parser
- the NameParser being used by the Context.
-
AbstractContext
protected AbstractContext(java.util.Hashtable env, boolean systemOverride, javax.naming.NameParser parser)
Creates a AbstractContext.- Parameters:
env
- a Hashtable containing the Context's environment.systemOverride
- allow System Parameters to override the environment that is passed in.parser
- the NameParser being used by the Context.
-
AbstractContext
protected AbstractContext(AbstractContext that)
Create a new context based upon the environment of the passed context.- Parameters:
that
-
-
-
Method Detail
-
lookup
public java.lang.Object lookup(javax.naming.Name name) throws javax.naming.NamingException
Return the named object. This implementation looks for things in the following order:
- The empty element to duplicate the context.
- A named object in the environment.
- A named object in the Context's store
- A named sub-Context of this Context
- Specified by:
lookup
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.lookup(javax.naming.Name)
-
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
- See Also:
Context.lookup(java.lang.String)
-
bind
public void bind(javax.naming.Name name, java.lang.Object object) throws javax.naming.NamingException
- Specified by:
bind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.bind(javax.naming.Name, java.lang.Object)
-
bind
public void bind(java.lang.String name, java.lang.Object object) throws javax.naming.NamingException
- Specified by:
bind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.bind(java.lang.String, java.lang.Object)
-
rebind
public void rebind(javax.naming.Name name, java.lang.Object object) throws javax.naming.NamingException
- Specified by:
rebind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.rebind(javax.naming.Name, java.lang.Object)
-
rebind
public void rebind(java.lang.String name, java.lang.Object object) throws javax.naming.NamingException
- Specified by:
rebind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.rebind(java.lang.String, java.lang.Object)
-
unbind
public void unbind(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
unbind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.unbind(javax.naming.Name)
-
unbind
public void unbind(java.lang.String name) throws javax.naming.NamingException
- Specified by:
unbind
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.unbind(java.lang.String)
-
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
- See Also:
Context.rename(javax.naming.Name, javax.naming.Name)
-
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
- See Also:
Context.rename(java.lang.String, java.lang.String)
-
list
public javax.naming.NamingEnumeration list(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
list
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.list(javax.naming.Name)
-
list
public javax.naming.NamingEnumeration list(java.lang.String name) throws javax.naming.NamingException
- Specified by:
list
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.list(java.lang.String)
-
listBindings
public javax.naming.NamingEnumeration listBindings(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
listBindings
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.listBindings(javax.naming.Name)
-
listBindings
public javax.naming.NamingEnumeration listBindings(java.lang.String name) throws javax.naming.NamingException
- Specified by:
listBindings
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.listBindings(java.lang.String)
-
destroySubcontext
public void destroySubcontext(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
destroySubcontext
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.destroySubcontext(javax.naming.Name)
-
destroySubcontext
public void destroySubcontext(java.lang.String name) throws javax.naming.NamingException
- Specified by:
destroySubcontext
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.destroySubcontext(java.lang.String)
-
createSubcontext
public abstract javax.naming.Context createSubcontext(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
createSubcontext
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.createSubcontext(javax.naming.Name)
-
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
- See Also:
Context.createSubcontext(java.lang.String)
-
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
- See Also:
Context.lookupLink(javax.naming.Name)
-
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
- See Also:
Context.lookupLink(java.lang.String)
-
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
- See Also:
Context.getNameParser(javax.naming.Name)
-
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
- See Also:
Context.getNameParser(java.lang.String)
-
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
- See Also:
Context.composeName(javax.naming.Name, javax.naming.Name)
-
composeName
public java.lang.String composeName(java.lang.String name, java.lang.String prefix) throws javax.naming.NamingException
- Specified by:
composeName
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.composeName(java.lang.String, java.lang.String)
-
addToEnvironment
public java.lang.Object addToEnvironment(java.lang.String name, java.lang.Object object) throws javax.naming.NamingException
- Specified by:
addToEnvironment
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.addToEnvironment(java.lang.String, java.lang.Object)
-
removeFromEnvironment
public java.lang.Object removeFromEnvironment(java.lang.String name) throws javax.naming.NamingException
- Specified by:
removeFromEnvironment
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.removeFromEnvironment(java.lang.String)
-
getEnvironment
public java.util.Hashtable getEnvironment() throws javax.naming.NamingException
- Specified by:
getEnvironment
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.getEnvironment()
-
close
public void close() throws javax.naming.NamingException
- Specified by:
close
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.close()
-
getNameInNamespace
public java.lang.String getNameInNamespace() throws javax.naming.NamingException
- Specified by:
getNameInNamespace
in interfacejavax.naming.Context
- Throws:
javax.naming.NamingException
- See Also:
Context.getNameInNamespace()
-
isEmpty
public boolean isEmpty()
Determine whether or not the context is empty. Objects bound directly to the context or subcontexts are all that is considered. The environment of the context is not considered.- Returns:
- true of the context is empty, else false.
-
setNameInNamespace
public void setNameInNamespace(javax.naming.Name name) throws javax.naming.NamingException
Set the name of the Context. This is only used from createSubcontext. It might get replaced by adding more constructors, but there is really no reason to expose it publicly anyway.- Parameters:
name
- the Name of the context.- Throws:
javax.naming.NamingException
- if the subContext already has a name.
-
setNameInNamespace
protected void setNameInNamespace(java.lang.String name) throws javax.naming.NamingException
Set the name of the Context. This is only used from createSubcontext. It might get replaced by adding more constructors, but there is really no reason to expose it publicly anyway.- Parameters:
name
- a String representation of the Name of the context.- Throws:
javax.naming.NamingException
- if the subContext already has a name.
-
getSubContexts
protected java.util.Hashtable getSubContexts()
Convenience method returning the subcontexts that this context parents.- Returns:
- a Hashtable of context objects that are parented by this context.
-
isSharedAndLoaded
public static boolean isSharedAndLoaded()
Whether this context is running in shared mode AND has already been loaded with data.
-
-