public static class DefaultCacheServer.SimpleContext extends Object implements ContainerContext
Modifier and Type | Field and Description |
---|---|
static String |
GLOBAL
The name of the GLOBAL Domain Partition.
|
static ContainerContext |
GLOBAL_CONTEXT
The GLOBAL context.
|
static String |
SHARED
The cache mapping parameter defining a "shared" cache.
|
Constructor and Description |
---|
SimpleContext(String sTenant, ContainerAdapter adapter)
Construct the SimpleContext for a given tenant.
|
Modifier and Type | Method and Description |
---|---|
protected String |
evaluateAttribute(String sCache, String sAttribute)
Get the value for a given macro attribute for a given cache mapping.
|
Object |
getCacheAttribute(String sCache, String sAttribute)
Obtain a value for a configuration attribute for a given cache.
|
ContainerContext |
getCurrentThreadContext()
Obtain the ContainerContext associated with the current thread.
|
String |
getDomainPartition()
Obtain the Domain Partition name associated with this ContainerContext.
|
ContainerContext |
getGlobalContext()
Obtain the ContainerContext associated with GLOBAL Domain Partition.
|
Set<String> |
getSharedCaches()
Get a set of names for all shared caches.
|
boolean |
isCacheShared(String sCache)
Check whether or not the cache with the specified name should be shared across various Domain Partitions.
|
boolean |
isGlobalDomainPartition()
Check whether or not the DomainPartition associated with this context is GLOBAL.
|
void |
resetCurrentThreadContext()
Reset the execution context for the calling thread to be associated with this ContainerContext's Domain Partition.
|
<V> V |
runInDomainPartitionContext(Callable<V> action)
Call the specified action in the context of the associated Domain Partition.
|
void |
setCurrentThreadContext()
Set the execution context for the calling thread to be associated with this ContainerContext's Domain Partition.
|
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
runInDomainPartitionContext
public static final String GLOBAL
public static final String SHARED
public static final ContainerContext GLOBAL_CONTEXT
public SimpleContext(String sTenant, ContainerAdapter adapter)
sTenant
- the tenant nameadapter
- the corresponding ContainerAdapterpublic String getDomainPartition()
ContainerContext
Note, that to get the name of the the GLOBAL DomainPartition, the caller should do the following:
getGlobalContext().getDomainPartition();
getDomainPartition
in interface ContainerContext
public boolean isGlobalDomainPartition()
ContainerContext
Note, that this call is basically equivalent to the following:
equals(getGlobalContext());
isGlobalDomainPartition
in interface ContainerContext
public ContainerContext getGlobalContext()
ContainerContext
Important note: since the ContainerContext object could use the context as a part of the event dispatcher or listener identity, it's imperative for the container to maintain no more than one instance of the global context.
getGlobalContext
in interface ContainerContext
public ContainerContext getCurrentThreadContext()
ContainerContext
getCurrentThreadContext
in interface ContainerContext
public void resetCurrentThreadContext()
ContainerContext
ContainerContext.setCurrentThreadContext()
.resetCurrentThreadContext
in interface ContainerContext
public void setCurrentThreadContext()
ContainerContext
Note, that to set the execution context as GLOBAL, the caller should do the following:
getGlobalContext().setCurrentThreadContext();
setCurrentThreadContext
in interface ContainerContext
public <V> V runInDomainPartitionContext(Callable<V> action)
ContainerContext
Note, that to call the action in the GLOBAL context, the caller should do the following:
getGlobalContext().runInDomainPartitionContext(action);
runInDomainPartitionContext
in interface ContainerContext
action
- the action to callpublic boolean isCacheShared(String sCache)
ContainerContext
isCacheShared
in interface ContainerContext
sCache
- the cache namepublic Object getCacheAttribute(String sCache, String sAttribute)
ContainerContext
getCacheAttribute
in interface ContainerContext
sCache
- the cache namesAttribute
- the attribute namepublic Set<String> getSharedCaches()
ContainerContext
application activation
.getSharedCaches
in interface ContainerContext