|
J avolution v5.2 (J2SE 1.5+) | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjavolution.context.Context
public abstract class Context
This class represents an execution context; they can be associated to particular threads or objects.
Context-aware applications may extend the context base class or any predefined contexts in order to facilitate separation of concerns.
The scope of a Context should be surrounded by a try,
finally block statement to ensure correct behavior in case
of exceptions being raised. For example:
LocalContext.enter(); // Current thread enter a local context.
try
ModuloInteger.setModulus(m); // No impact on other threads!
z = x.times(y); // Multiplication modulo m.
} finally {
LocalContext.exit();
}
| Field Summary | |
|---|---|
static Context |
ROOT
Holds the root context (top context of all threads). |
| Constructor Summary | |
|---|---|
protected |
Context()
Default constructor. |
| Method Summary | ||
|---|---|---|
static
|
enter(java.lang.Class<T> contextType)
Enters a factory produced context of specified type to be recycled after exiting. |
|
static
|
enter(T context)
Enters the specified context. |
|
protected abstract void |
enterAction()
The action to be performed after this context becomes the current context. |
|
static Context |
exit()
Exits the current context (the outer context
becomes the current context). |
|
static void |
exit(Context ctx)
Deprecated. exit() should be used. |
|
protected abstract void |
exitAction()
The action to be performed before this context is no more the current context. |
|
static Context |
getCurrent()
Returns the current context for the current thread. |
|
Context |
getOuter()
Returns the outer context of this context or null
if ROOT. |
|
java.lang.Thread |
getOwner()
Returns the current owner of this context. |
|
protected static void |
setCurrent(ConcurrentContext context)
Sets the current context, used by ConcurrentContext
exclusively. |
|
java.lang.String |
toString()
Returns the string representation of this context (default "Instance of " + this.getClass().getName()). |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final Context ROOT
| Constructor Detail |
|---|
protected Context()
| Method Detail |
|---|
public static Context getCurrent()
public final java.lang.Thread getOwner()
entered
the context and has not yet exited.
A context can only have one owner at any given time, although
contexts can be shared by concurrent threads.
null.public final Context getOuter()
null
if ROOT.
null.public java.lang.String toString()
"Instance of " + this.getClass().getName()).
toString in class java.lang.Objectprotected abstract void enterAction()
protected abstract void exitAction()
public static final <T extends Context> T enter(T context)
context - the context being entered.
java.lang.IllegalStateException - if this context is currently in use.public static final <T extends Context> T enter(java.lang.Class<T> contextType)
exiting.
This method is called by the static enter() method
of specialized contexts. If the context class has no public
no-arg constructor accessible, then the factory for the class should
be explicitely set (typically
in a static initializer).
contextType - the type of context being entered.
ObjectFactory.getInstance(Class)public static Context exit()
outer context
becomes the current context).
java.lang.IllegalStateException - if this context is the ROOT
context.protected static void setCurrent(ConcurrentContext context)
ConcurrentContext
exclusively.
context - the concurrent context.public static final void exit(Context ctx)
exit() should be used.
|
J avolution v5.2 (J2SE 1.5+) | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||