Class ExecutionContext

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

public abstract class ExecutionContext extends Object
  • Constructor Details

  • Method Details

    • 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