Interface BehaviorRuntime

All Superinterfaces:
Behavior, Cloneable, RuleComponent
All Known Implementing Classes:
SlidingLengthWindow, SlidingTimeWindow

public interface BehaviorRuntime extends Behavior, RuleComponent, Cloneable
An interface for all behavior implementations
  • Method Details

    • getType

      Returns the type of the behavior
      Specified by:
      getType in interface Behavior
    • createContext

      BehaviorContext createContext()
      Creates the context object associated with this behavior. The object is given as a parameter in all behavior call backs.
    • assertFact

      boolean assertFact(Object context, FactHandle fact, PropagationContext pctx, ReteEvaluator reteEvaluator)
      Makes the behavior aware of the new fact entering behavior's scope
      Parameters:
      context - The behavior context object
      fact - The new fact entering behavior's scope
      valueResolver - The working memory session reference
      Returns:
      true if the propagation should continue, false otherwise. I.e., the behaviour has veto power over the fact propagation, and prevents the propagation to continue if returns false on this method.
    • retractFact

      void retractFact(Object context, FactHandle fact, PropagationContext pctx, ReteEvaluator reteEvaluator)
      Removes a right tuple from the behavior's scope
      Parameters:
      context - The behavior context object
      fact - The fact leaving the behavior's scope
      valueResolver - The working memory session reference
    • expireFacts

      void expireFacts(Object context, PropagationContext pctx, ReteEvaluator reteEvaluator)
      A callback method that allows behaviors to expire facts
    • getExpirationOffset

      long getExpirationOffset()
      Some behaviors might change the expiration offset for the associated fact type. Example: time sliding windows. For these behaviors, this method must return the expiration offset associated to them.
      Specified by:
      getExpirationOffset in interface Behavior
      Returns:
      the expiration offset for this behavior or -1 if they don't have a time based expiration offset.