Class PointInTimeEvaluator

java.lang.Object
org.drools.mvel.evaluators.BaseEvaluator
org.drools.mvel.evaluators.PointInTimeEvaluator
All Implemented Interfaces:
Externalizable, Serializable, org.drools.base.rule.accessor.Evaluator, MvelEvaluator, Evaluator
Direct Known Subclasses:
AfterEvaluatorDefinition.AfterEvaluator, BeforeEvaluatorDefinition.BeforeEvaluator

public abstract class PointInTimeEvaluator extends BaseEvaluator
See Also:
  • Field Details

    • initRange

      protected long initRange
    • finalRange

      protected long finalRange
    • paramText

      protected String paramText
    • unwrapLeft

      protected boolean unwrapLeft
    • unwrapRight

      protected boolean unwrapRight
  • Constructor Details

    • PointInTimeEvaluator

      public PointInTimeEvaluator()
    • PointInTimeEvaluator

      public PointInTimeEvaluator(org.drools.base.base.ValueType type, org.drools.drl.parser.impl.Operator operator, long[] parameters, String paramText, boolean unwrapLeft, boolean unwrapRight)
  • Method Details

    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Overrides:
      readExternal in class BaseEvaluator
      Throws:
      IOException
      ClassNotFoundException
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Overrides:
      writeExternal in class BaseEvaluator
      Throws:
      IOException
    • isTemporal

      public boolean isTemporal()
      Specified by:
      isTemporal in interface org.drools.base.rule.accessor.Evaluator
      Specified by:
      isTemporal in interface Evaluator
      Overrides:
      isTemporal in class BaseEvaluator
    • evaluate

      protected abstract boolean evaluate(long rightTS, long leftTS)
    • getLeftTimestamp

      protected abstract long getLeftTimestamp(FactHandle handle)
    • getRightTimestamp

      protected abstract long getRightTimestamp(FactHandle handle)
    • evaluate

      public boolean evaluate(org.drools.base.base.ValueResolver valueResolver, org.drools.base.rule.accessor.ReadAccessor extractor, FactHandle object1, org.drools.base.rule.accessor.FieldValue object2)
    • evaluateCachedLeft

      public boolean evaluateCachedLeft(org.drools.base.base.ValueResolver valueResolver, VariableRestriction.VariableContextEntry context, FactHandle right)
      Description copied from interface: MvelEvaluator
      Evaluates the expression using the provided parameters. This method is used when evaluating left-activated beta-constraints, i.e., a fact attribute against a variable value, that is activated from the left. For instance: Person( name == $someName ) This method will be used when a new $someName variable is bound. So it will cache the value of $someName and will iterate over the right memory (Person instances) evaluating each occurrence.
      Parameters:
      valueResolver - The current working memory
      context - The previously cached context, including the left value and the extractor for the right value.
      right - The right object, from where to extract the value. In the above example, that is the "Person" instance from where to extract the "name" attribute.
      Returns:
      Returns true if evaluation is successful. false otherwise.
    • evaluateCachedRight

      public boolean evaluateCachedRight(org.drools.base.base.ValueResolver valueResolver, VariableRestriction.VariableContextEntry context, FactHandle left)
      Description copied from interface: MvelEvaluator
      Evaluates the expression using the provided parameters. This method is used when evaluating right-activated beta-constraints, i.e., a fact attribute against a variable value, that is activated from the right. For instance: Person( name == $someName ) This method will be used when a new Person instance is evaluated. So it will cache the value of the "Person" instance and will iterate over the left memory comparing it to each "$someName" bound values.
      Parameters:
      valueResolver - The current working memory
      context - The previously cached context, including the right value and the extractor for the left value.
      left - The left object, from where to extract the bound variable. In the above example, that is the "$someName" variable value.
      Returns:
      Returns true if evaluation is successful. false otherwise.
    • evaluate

      public boolean evaluate(org.drools.base.base.ValueResolver valueResolver, org.drools.base.rule.accessor.ReadAccessor extractor1, FactHandle handle1, org.drools.base.rule.accessor.ReadAccessor extractor2, FactHandle handle2)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class BaseEvaluator
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class BaseEvaluator
    • toString

      public String toString()
      Overrides:
      toString in class BaseEvaluator