org.apache.xbean.naming.context
Class ImmutableContext.NestedImmutableContext

java.lang.Object
  extended by org.apache.xbean.naming.context.AbstractContext
      extended by org.apache.xbean.naming.context.ImmutableContext.NestedImmutableContext
All Implemented Interfaces:
java.io.Serializable, javax.naming.Context, NestedContextFactory
Enclosing class:
ImmutableContext

public final class ImmutableContext.NestedImmutableContext
extends AbstractContext

Nested context which shares the absolute index map in MapContext.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface javax.naming.Context
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES
 
Constructor Summary
ImmutableContext.NestedImmutableContext(java.lang.String path, java.util.Map<java.lang.String,java.lang.Object> bindings)
           
 
Method Summary
protected  boolean addBinding(java.lang.String name, java.lang.Object value, boolean rebind)
           
protected  void addDeepBinding(java.lang.String name, java.lang.Object value, boolean createIntermediateContexts)
           
 javax.naming.Context createNestedSubcontext(java.lang.String path, java.util.Map<java.lang.String,java.lang.Object> bindings)
          Creates a nested subcontext instance.
protected  java.util.Map<java.lang.String,java.lang.Object> getBindings()
          Gets a map of the bindings for the current node (i.e., no names with slashes).
protected  java.lang.Object getDeepBinding(java.lang.String name)
          Gets the object bound to the name.
protected  ImmutableContext getImmutableContext()
           
 boolean isNestedSubcontext(java.lang.Object value)
          Is the specified value an instance of a nested context
protected  boolean removeBinding(java.lang.String name, boolean removeNotEmptyContext)
          Removes the binding from the context.
protected  void removeDeepBinding(javax.naming.Name name, boolean pruneEmptyContexts)
           
 
Methods inherited from class org.apache.xbean.naming.context.AbstractContext
addBinding, addDeepBinding, addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, createSubcontextTree, destroySubcontext, destroySubcontext, faultLookup, getBinding, getContextAccess, getEnvironment, getNameInNamespace, getNameInNamespace, getNameInNamespace, getNameParser, getNameParser, getNameParser, getParsedNameInNamespace, getSize, isEmpty, list, list, list, listBindings, listBindings, listBindings, lookup, lookup, lookup, lookupFinalContext, lookupLink, lookupLink, rebind, rebind, removeDeepBinding, removeFromEnvironment, rename, rename, unbind, unbind
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImmutableContext.NestedImmutableContext

public ImmutableContext.NestedImmutableContext(java.lang.String path,
                                               java.util.Map<java.lang.String,java.lang.Object> bindings)
Method Detail

getDeepBinding

protected java.lang.Object getDeepBinding(java.lang.String name)
Description copied from class: AbstractContext
Gets the object bound to the name. The name may contain slashes.

Overrides:
getDeepBinding in class AbstractContext
Parameters:
name - the name
Returns:
the object bound to the name, or null if not found

getBindings

protected java.util.Map<java.lang.String,java.lang.Object> getBindings()
Description copied from class: AbstractContext
Gets a map of the bindings for the current node (i.e., no names with slashes). This method must not return null.

Specified by:
getBindings in class AbstractContext
Returns:
a Map from binding name to binding value

addDeepBinding

protected final void addDeepBinding(java.lang.String name,
                                    java.lang.Object value,
                                    boolean createIntermediateContexts)
                             throws javax.naming.NamingException
Throws:
javax.naming.NamingException

addBinding

protected final boolean addBinding(java.lang.String name,
                                   java.lang.Object value,
                                   boolean rebind)
                            throws javax.naming.NamingException
Specified by:
addBinding in class AbstractContext
Throws:
javax.naming.NamingException

removeDeepBinding

protected final void removeDeepBinding(javax.naming.Name name,
                                       boolean pruneEmptyContexts)
                                throws javax.naming.NamingException
Overrides:
removeDeepBinding in class AbstractContext
Throws:
javax.naming.NamingException

removeBinding

protected final boolean removeBinding(java.lang.String name,
                                      boolean removeNotEmptyContext)
                               throws javax.naming.NamingException
Description copied from class: AbstractContext
Removes the binding from the context. The name will not contain a path and the value will not be a nested context although it may be a foreign context.

Specified by:
removeBinding in class AbstractContext
Parameters:
name - name under which the value should be bound
removeNotEmptyContext - ??? TODO figure this out
Returns:
whether removal was successful
Throws:
javax.naming.NamingException - if a problem occurs during the bind such as a value already being bound

isNestedSubcontext

public boolean isNestedSubcontext(java.lang.Object value)
Description copied from interface: NestedContextFactory
Is the specified value an instance of a nested context

Parameters:
value - the value to inspect
Returns:
true if the specified value an instance of a nested context; false otherwise

createNestedSubcontext

public javax.naming.Context createNestedSubcontext(java.lang.String path,
                                                   java.util.Map<java.lang.String,java.lang.Object> bindings)
Description copied from interface: NestedContextFactory
Creates a nested subcontext instance. This does not cause the nested context to be bound.

Parameters:
path - the path to the new nested context
bindings - the initial bindings for the context
Returns:
the new nested context

getImmutableContext

protected ImmutableContext getImmutableContext()


Copyright © 2005-2011. All Rights Reserved.