org.apache.xbean.recipe
Class ExecutionContext

java.lang.Object
  extended by org.apache.xbean.recipe.ExecutionContext
Direct Known Subclasses:
DefaultExecutionContext

public abstract class ExecutionContext
extends Object


Constructor Summary
ExecutionContext()
           
 
Method Summary
abstract  void addObject(String name, Object object)
          Add an object to the repository.
abstract  void addReference(Reference reference)
          Adds a reference to an object to this context.
abstract  boolean containsObject(String name)
          Does this context contain a object with the specified name.
abstract  ClassLoader getClassLoader()
          Gets the class loader used for loading of all classes during the life of this execution context
static ExecutionContext getContext()
           
abstract  Object getObject(String name)
          Gets the object or recipe with the specified name from the repository.
abstract  LinkedList<Recipe> getStack()
          Gets a snapshot of the current execution stack.
abstract  Map<String,List<Reference>> getUnresolvedRefs()
          Gets the unresolved references by name.
static boolean isContextSet()
           
abstract  Recipe pop()
          Removes the top recipe from the execution stack.
abstract  void push(Recipe recipe)
          Adds a recipe to the top of the execution stack.
static ExecutionContext setContext(ExecutionContext newContext)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExecutionContext

public ExecutionContext()
Method Detail

isContextSet

public static boolean isContextSet()

getContext

public static ExecutionContext getContext()

setContext

public static ExecutionContext setContext(ExecutionContext newContext)

push

public abstract void push(Recipe recipe)
                   throws CircularDependencyException
Adds a recipe to the top of the execution stack. If the recipe is already on the stack, a CircularDependencyException is thrown.

Parameters:
recipe - the recipe to add to the stack
Throws:
CircularDependencyException - if the recipe is already on the stack

pop

public abstract Recipe pop()
Removes the top recipe from the execution stack.

Returns:
the top recipe on the stack

getStack

public abstract LinkedList<Recipe> getStack()
Gets a snapshot of the current execution stack. The returned list is a snapshot so any modification of the returned list does not modify the stack contained in this object.

Returns:
a snapshot of the current execution stack

containsObject

public abstract boolean containsObject(String name)
Does this context contain a object with the specified name.

Parameters:
name - the unique name of the object instance
Returns:
true if this context contain a object with the specified name

getObject

public abstract Object getObject(String name)
Gets the object or recipe with the specified name from the repository.

Parameters:
name - the unique name of the object instance
Returns:
the object instance, a recipe to build the object or null

addObject

public abstract void addObject(String name,
                               Object object)
Add an object to the repository.

Parameters:
name - the unique name of the object instance
object - the object instance
Throws:
ConstructionException - if another object instance is already registered with the name

addReference

public abstract void addReference(Reference reference)
Adds a reference to an object to this context. If an object is already registered under the referenced name, the reference will immedately be set. Otherwise, the reference will be set when an object is added with the referenced name.

Parameters:
reference - the reference to set

getUnresolvedRefs

public abstract Map<String,List<Reference>> getUnresolvedRefs()
Gets the unresolved references by name.

Returns:
the unresolved references by name

getClassLoader

public abstract ClassLoader getClassLoader()
Gets the class loader used for loading of all classes during the life of this execution context

Returns:
the class loader for loading classes in this context


Copyright © 2005-2009 The Apache Software Foundation. All Rights Reserved.