Interface RhsContext


  • public interface RhsContext

    Rule activation context that provides access to the rule's variables and working memory methods.

    • Method Detail

      • insert

        RhsContext insert​(Object fact,
                          boolean resolveCollections)

        Buffers a new insert operation in rule's memory

        Parameters:
        fact - object to insert
        resolveCollections - collection/array inspection flag
        Returns:
        RHS context
        Throws:
        NullPointerException - if argument is null
      • update

        RhsContext update​(Object obj)

        This method lets the working memory know that one of its objects has changed. Always call this method to get conditions re-evaluated, and avoid calling it if the changes are not relevant to the conditions.

        Parameters:
        obj - the changed object
        Returns:
        the context itself so the methods could be chained
      • delete

        RhsContext delete​(Object obj)

        This method removes an instance from the working memory.

        Parameters:
        obj - the object to remove
        Returns:
        the context itself so the methods could be chained
      • getRule

        RuntimeRule getRule()

        A convenience method that returns reference to the current rule and its environment.

        Returns:
        current rule
      • getRuntime

        default RuleSession<?> getRuntime()

        Provides access to the runtime context, an equivalent to getRule().getRuntime().

        Returns:
        runtime context (session)
      • getObject

        Object getObject​(String name)

        Returns current fact by its name

        Parameters:
        name - the fact name
        Returns:
        current instance
      • get

        default <T> T get​(String name)

        A typed version of the getObject() method.

        Type Parameters:
        T - cast type
        Parameters:
        name - fact name
        Returns:
        current instance
      • get

        default <T> T get​(Class<T> type,
                          String name)

        A typed version of the get() method with explicit generic cast type.

        Type Parameters:
        T - cast type
        Parameters:
        name - fact name
        type - fact type
        Returns:
        current instance