Interface ExecutionEnvironment


public interface ExecutionEnvironment
The ExecutionEnvironment manages contextual information which is made available to different components of the rules engine during execution. Facts can be retrieved from and published to the environment. It also provides a reference to the EngineResults or tracking engine activity and returning values back to the client of the rules engine.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Method Details

    • getSelectionCriteria

      SelectionCriteria getSelectionCriteria()
      Returns the selection criteria that was used to initialize the environment.
      Returns:
      the selection criteria for this environment
    • getFacts

      Map<Term,Object> getFacts()
      Returns an immutable Map of facts available within this environment.
      Returns:
      the facts in this environment
    • publishFact

      boolean publishFact(Term factName, Object factValue)
      Publishes a new fact
      Parameters:
      factName - name of the fact to publish
      factValue - value of the fact to publish // TODO: we don't support updating facts, refactor this method
      Returns:
      true if an existing fact was updated, false if this was a new fact
    • addTermResolver

      void addTermResolver(TermResolver<?> termResolver)
      Parameters:
      termResolver -
    • resolveTerm

      <T> T resolveTerm(Term term, Object caller) throws TermResolutionException
      Resolve
      Parameters:
      term - Term
      caller -
      Returns:
      <T> T
      Throws:
      TermResolutionException
    • getTermsForCaller

      Set<Term> getTermsForCaller(Object caller)
      Return a set of Term for the given value
      Parameters:
      caller -
      Returns:
      Set<Term>
    • getExecutionOptions

      ExecutionOptions getExecutionOptions()
      Return the ExecutionOptions
      Returns:
      ExecutionOptions
    • getEngineResults

      EngineResults getEngineResults()
      Return the EngineResults
      Returns:
      EngineResults