Interface RuleActionContext

  • All Known Implementing Classes:
    DefaultDroolsRuleActionContext

    public interface RuleActionContext
    This interface represents the context for actions applied during rule evaluation.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      CartRAO getCartRao()
      Get cart RAO
      java.lang.Object getDelegate()
      Returns a rule engine specific context object.
      java.lang.String getMetaData​(java.lang.String key)
      Returns the rule's meta-data for the given key (or null).
      java.lang.Object getParameter​(java.lang.String parameterName)
      Returns parameter of the running rule by it name or null if not found.
      <T> T getParameter​(java.lang.String parameterName, java.lang.Class<T> type)
      Returns parameter of the running rule by it name and type or throws IllegalArgumentException otherwise.
      java.util.Map<java.lang.String,​java.lang.Object> getParameters()
      Returns parameters of the running rule.
      RuleEngineResultRAO getRuleEngineResultRao()
      Get rule engine result RAO
      java.util.Map<java.lang.String,​java.lang.Object> getRuleMetadata()
      get rule metadata
      java.lang.String getRuleName()
      Get the name of the rule
      java.util.Optional<java.lang.String> getRulesModuleName()
      Get the name of the rules module.
      <T> T getValue​(java.lang.Class<T> type)
      Returns the value for a specific type from the default variables container.
      <T> T getValue​(java.lang.Class<T> type, java.lang.String... path)
      Returns the value for a specific type and variables container.
      <T> java.util.Set<T> getValues​(java.lang.Class<T> type)
      Returns the values for a specific type from the default variables container.
      <T> java.util.Set<T> getValues​(java.lang.Class<T> type, java.lang.String... path)
      Returns the values for a specific type and variables container.
      void halt()
      Stops evaluation of following rules
      void insertFacts​(java.lang.Object... facts)
      Insert the facts in an array to a context
      void insertFacts​(java.util.Collection facts)
      Insert the facts in a collection to a context
      void scheduleForUpdate​(java.lang.Object... facts)
      schedules the given facts for an update.
      void setParameters​(java.util.Map<java.lang.String,​java.lang.Object> parameters)
      Sets parameters to the running rule
      void updateFacts​(java.lang.Object... facts)
      Update the facts in a context
      void updateScheduledFacts()
      updates any previously scheduled facts (see scheduleForUpdate(Object...)
    • Method Detail

      • getMetaData

        java.lang.String getMetaData​(java.lang.String key)
        Returns the rule's meta-data for the given key (or null). Calls toString() on the meta-data object.
        Parameters:
        key -
        Returns:
        the string representation of the meta-data (or null)
      • scheduleForUpdate

        void scheduleForUpdate​(java.lang.Object... facts)
        schedules the given facts for an update. Note: The actual fact update is invoked via updateScheduledFacts()
        Parameters:
        facts - the facts to schedule for update
      • getValue

        <T> T getValue​(java.lang.Class<T> type)
        Returns the value for a specific type from the default variables container. If more than one value is found, the first one is returned.
        Parameters:
        type - - the type
        Returns:
        the value or null if no value is found for the given type
      • getValues

        <T> java.util.Set<T> getValues​(java.lang.Class<T> type)
        Returns the values for a specific type from the default variables container.
        Parameters:
        type - - the type
        Returns:
        the values or an empty set if no value is found for the given type
      • getValue

        <T> T getValue​(java.lang.Class<T> type,
                       java.lang.String... path)
        Returns the value for a specific type and variables container. If more than one value is found, the first one is returned.
        Parameters:
        type - - the type
        path - - the path for the variables container
        Returns:
        the value or null if no value is found for the given type
      • getValues

        <T> java.util.Set<T> getValues​(java.lang.Class<T> type,
                                       java.lang.String... path)
        Returns the values for a specific type and variables container.
        Parameters:
        type - - the type
        path - - the path for the variables container
        Returns:
        the values or an empty set if no value is found for the given type
      • insertFacts

        void insertFacts​(java.lang.Object... facts)
        Insert the facts in an array to a context
        Parameters:
        facts - - the array of facts
      • insertFacts

        void insertFacts​(java.util.Collection facts)
        Insert the facts in a collection to a context
        Parameters:
        facts - - the collection of facts
      • updateFacts

        void updateFacts​(java.lang.Object... facts)
        Update the facts in a context
        Parameters:
        facts - - the array of facts
      • getCartRao

        CartRAO getCartRao()
        Get cart RAO
      • getRuleEngineResultRao

        RuleEngineResultRAO getRuleEngineResultRao()
        Get rule engine result RAO
      • getRuleName

        java.lang.String getRuleName()
        Get the name of the rule
      • getRuleMetadata

        java.util.Map<java.lang.String,​java.lang.Object> getRuleMetadata()
        get rule metadata
      • getDelegate

        java.lang.Object getDelegate()
        Returns a rule engine specific context object.
      • getRulesModuleName

        java.util.Optional<java.lang.String> getRulesModuleName()
        Get the name of the rules module.
      • getParameters

        java.util.Map<java.lang.String,​java.lang.Object> getParameters()
        Returns parameters of the running rule.
      • getParameter

        java.lang.Object getParameter​(java.lang.String parameterName)
        Returns parameter of the running rule by it name or null if not found.
      • getParameter

        <T> T getParameter​(java.lang.String parameterName,
                           java.lang.Class<T> type)
        Returns parameter of the running rule by it name and type or throws IllegalArgumentException otherwise.
      • setParameters

        void setParameters​(java.util.Map<java.lang.String,​java.lang.Object> parameters)
        Sets parameters to the running rule
        Parameters:
        parameters - - map of named objects, creating the execution context for an action
      • halt

        void halt()
        Stops evaluation of following rules