public class WritableContext extends AbstractFederatedContext
Modifier and Type | Class and Description |
---|---|
class |
WritableContext.NestedWritableContext
Nested context which shares the absolute index map in MapContext.
|
Modifier and Type | Field and Description |
---|---|
private boolean |
assumeDereferenceBound |
private java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.lang.Object>> |
bindingsRef |
private boolean |
cacheReferences |
private boolean |
checkDereferenceDifferent |
private java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.lang.Object>> |
indexRef |
private boolean |
supportReferenceable |
private java.util.concurrent.locks.Lock |
writeLock |
Constructor and Description |
---|
WritableContext() |
WritableContext(java.lang.String nameInNamespace) |
WritableContext(java.lang.String nameInNamespace,
java.util.Map<java.lang.String,java.lang.Object> bindings) |
WritableContext(java.lang.String nameInNamespace,
java.util.Map<java.lang.String,java.lang.Object> bindings,
boolean cacheReferences) |
WritableContext(java.lang.String nameInNamespace,
java.util.Map<java.lang.String,java.lang.Object> bindings,
ContextAccess contextAccess) |
WritableContext(java.lang.String nameInNamespace,
java.util.Map<java.lang.String,java.lang.Object> bindings,
ContextAccess contextAccess,
boolean cacheReferences) |
WritableContext(java.lang.String nameInNamespace,
java.util.Map<java.lang.String,java.lang.Object> bindings,
ContextAccess contextAccess,
boolean cacheReferences,
boolean supportReferenceable,
boolean checkDereferenceDifferent,
boolean assumeDereferenceBound) |
Modifier and Type | Method and Description |
---|---|
protected void |
addBinding(java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.lang.Object>> bindingsRef,
java.lang.String name,
java.lang.String nameInNamespace,
java.lang.Object value,
boolean rebind) |
protected boolean |
addBinding(java.lang.String name,
java.lang.Object value,
boolean rebind) |
private void |
addToIndex(java.lang.String name,
java.lang.Object value) |
private static java.util.Map<java.lang.String,java.lang.Object> |
buildIndex(java.lang.String nameInNamespace,
java.util.Map<java.lang.String,java.lang.Object> bindings) |
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.lang.Object |
getDeepBinding(java.lang.String name)
Gets the object bound to the name.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
getWrapperBindings() |
private boolean |
removeBinding(java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.lang.Object>> bindingsRef,
java.lang.String name,
java.lang.String nameInNamespace,
boolean removeNotEmptyContext) |
protected boolean |
removeBinding(java.lang.String name,
boolean removeNotEmptyContext)
Removes the binding from the context.
|
private java.util.Map<java.lang.String,java.lang.Object> |
removeFromIndex(java.lang.String name) |
addFederatedContext, faultLookup, getBinding, getBindings, getBindings, getMasterContext, isNestedSubcontext, removeFederatedContext
addBinding, addDeepBinding, addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, createSubcontextTree, destroySubcontext, destroySubcontext, 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, removeDeepBinding, removeFromEnvironment, rename, rename, unbind, unbind
private final java.util.concurrent.locks.Lock writeLock
private final java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.lang.Object>> bindingsRef
private final java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.lang.Object>> indexRef
private final boolean cacheReferences
private final boolean supportReferenceable
private final boolean checkDereferenceDifferent
private final boolean assumeDereferenceBound
public WritableContext() throws javax.naming.NamingException
javax.naming.NamingException
public WritableContext(java.lang.String nameInNamespace) throws javax.naming.NamingException
javax.naming.NamingException
public WritableContext(java.lang.String nameInNamespace, java.util.Map<java.lang.String,java.lang.Object> bindings) throws javax.naming.NamingException
javax.naming.NamingException
public WritableContext(java.lang.String nameInNamespace, java.util.Map<java.lang.String,java.lang.Object> bindings, boolean cacheReferences) throws javax.naming.NamingException
javax.naming.NamingException
public WritableContext(java.lang.String nameInNamespace, java.util.Map<java.lang.String,java.lang.Object> bindings, ContextAccess contextAccess) throws javax.naming.NamingException
javax.naming.NamingException
public WritableContext(java.lang.String nameInNamespace, java.util.Map<java.lang.String,java.lang.Object> bindings, ContextAccess contextAccess, boolean cacheReferences) throws javax.naming.NamingException
javax.naming.NamingException
public WritableContext(java.lang.String nameInNamespace, java.util.Map<java.lang.String,java.lang.Object> bindings, ContextAccess contextAccess, boolean cacheReferences, boolean supportReferenceable, boolean checkDereferenceDifferent, boolean assumeDereferenceBound) throws javax.naming.NamingException
javax.naming.NamingException
protected boolean addBinding(java.lang.String name, java.lang.Object value, boolean rebind) throws javax.naming.NamingException
addBinding
in class AbstractFederatedContext
javax.naming.NamingException
protected void addBinding(java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.lang.Object>> bindingsRef, java.lang.String name, java.lang.String nameInNamespace, java.lang.Object value, boolean rebind) throws javax.naming.NamingException
javax.naming.NamingException
private void addToIndex(java.lang.String name, java.lang.Object value)
protected boolean removeBinding(java.lang.String name, boolean removeNotEmptyContext) throws javax.naming.NamingException
AbstractContext
removeBinding
in class AbstractFederatedContext
name
- name under which the value should be boundremoveNotEmptyContext
- ??? TODO figure this outjavax.naming.NamingException
- if a problem occurs during the bind such as a value already being boundprivate boolean removeBinding(java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.lang.Object>> bindingsRef, java.lang.String name, java.lang.String nameInNamespace, boolean removeNotEmptyContext) throws javax.naming.NamingException
javax.naming.NamingException
private java.util.Map<java.lang.String,java.lang.Object> removeFromIndex(java.lang.String name)
public javax.naming.Context createNestedSubcontext(java.lang.String path, java.util.Map<java.lang.String,java.lang.Object> bindings) throws javax.naming.NamingException
NestedContextFactory
path
- the path to the new nested contextbindings
- the initial bindings for the contextjavax.naming.NamingException
- on errorprivate static java.util.Map<java.lang.String,java.lang.Object> buildIndex(java.lang.String nameInNamespace, java.util.Map<java.lang.String,java.lang.Object> bindings)
protected java.lang.Object getDeepBinding(java.lang.String name)
AbstractContext
getDeepBinding
in class AbstractFederatedContext
name
- the nameprotected java.util.Map<java.lang.String,java.lang.Object> getWrapperBindings() throws javax.naming.NamingException
getWrapperBindings
in class AbstractFederatedContext
javax.naming.NamingException