org.drools.base
Class BaseEvaluator

java.lang.Object
  extended by org.drools.base.BaseEvaluator
All Implemented Interfaces:
Externalizable, Serializable, org.drools.runtime.rule.Evaluator
Direct Known Subclasses:
AfterEvaluatorDefinition.AfterEvaluator, BeforeEvaluatorDefinition.BeforeEvaluator, CoincidesEvaluatorDefinition.CoincidesEvaluator, ComparableEvaluatorsDefinition.BigDecimalGreaterEvaluator, ComparableEvaluatorsDefinition.BigDecimalGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.BigDecimalLessEvaluator, ComparableEvaluatorsDefinition.BigDecimalLessOrEqualEvaluator, ComparableEvaluatorsDefinition.BigIntegerGreaterEvaluator, ComparableEvaluatorsDefinition.BigIntegerGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.BigIntegerLessEvaluator, ComparableEvaluatorsDefinition.BigIntegerLessOrEqualEvaluator, ComparableEvaluatorsDefinition.ByteGreaterEvaluator, ComparableEvaluatorsDefinition.ByteGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.ByteLessEvaluator, ComparableEvaluatorsDefinition.ByteLessOrEqualEvaluator, ComparableEvaluatorsDefinition.CharacterGreaterEvaluator, ComparableEvaluatorsDefinition.CharacterGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.CharacterLessEvaluator, ComparableEvaluatorsDefinition.CharacterLessOrEqualEvaluator, ComparableEvaluatorsDefinition.DateGreaterEvaluator, ComparableEvaluatorsDefinition.DateGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.DateLessEvaluator, ComparableEvaluatorsDefinition.DateLessOrEqualEvaluator, ComparableEvaluatorsDefinition.DoubleGreaterEvaluator, ComparableEvaluatorsDefinition.DoubleGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.DoubleLessEvaluator, ComparableEvaluatorsDefinition.DoubleLessOrEqualEvaluator, ComparableEvaluatorsDefinition.FloatGreaterEvaluator, ComparableEvaluatorsDefinition.FloatGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.FloatLessEvaluator, ComparableEvaluatorsDefinition.FloatLessOrEqualEvaluator, ComparableEvaluatorsDefinition.IntegerGreaterEvaluator, ComparableEvaluatorsDefinition.IntegerGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.IntegerLessEvaluator, ComparableEvaluatorsDefinition.IntegerLessOrEqualEvaluator, ComparableEvaluatorsDefinition.LongGreaterEvaluator, ComparableEvaluatorsDefinition.LongGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.LongLessEvaluator, ComparableEvaluatorsDefinition.LongLessOrEqualEvaluator, ComparableEvaluatorsDefinition.ObjectGreaterEvaluator, ComparableEvaluatorsDefinition.ObjectGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.ObjectLessEvaluator, ComparableEvaluatorsDefinition.ObjectLessOrEqualEvaluator, ComparableEvaluatorsDefinition.ShortGreaterEvaluator, ComparableEvaluatorsDefinition.ShortGreaterOrEqualEvaluator, ComparableEvaluatorsDefinition.ShortLessEvaluator, ComparableEvaluatorsDefinition.ShortLessOrEqualEvaluator, DuringEvaluatorDefinition.DuringEvaluator, EqualityEvaluatorsDefinition.ArrayEqualEvaluator, EqualityEvaluatorsDefinition.ArrayNotEqualEvaluator, EqualityEvaluatorsDefinition.BigDecimalEqualEvaluator, EqualityEvaluatorsDefinition.BigDecimalNotEqualEvaluator, EqualityEvaluatorsDefinition.BigIntegerEqualEvaluator, EqualityEvaluatorsDefinition.BigIntegerNotEqualEvaluator, EqualityEvaluatorsDefinition.BooleanEqualEvaluator, EqualityEvaluatorsDefinition.BooleanNotEqualEvaluator, EqualityEvaluatorsDefinition.ByteEqualEvaluator, EqualityEvaluatorsDefinition.ByteNotEqualEvaluator, EqualityEvaluatorsDefinition.CharacterEqualEvaluator, EqualityEvaluatorsDefinition.CharacterNotEqualEvaluator, EqualityEvaluatorsDefinition.DateEqualEvaluator, EqualityEvaluatorsDefinition.DateNotEqualEvaluator, EqualityEvaluatorsDefinition.DoubleEqualEvaluator, EqualityEvaluatorsDefinition.DoubleNotEqualEvaluator, EqualityEvaluatorsDefinition.FactTemplateEqualEvaluator, EqualityEvaluatorsDefinition.FactTemplateNotEqualEvaluator, EqualityEvaluatorsDefinition.FloatEqualEvaluator, EqualityEvaluatorsDefinition.FloatNotEqualEvaluator, EqualityEvaluatorsDefinition.IntegerEqualEvaluator, EqualityEvaluatorsDefinition.IntegerNotEqualEvaluator, EqualityEvaluatorsDefinition.LongEqualEvaluator, EqualityEvaluatorsDefinition.LongNotEqualEvaluator, EqualityEvaluatorsDefinition.ObjectEqualEvaluator, EqualityEvaluatorsDefinition.ObjectNotEqualEvaluator, EqualityEvaluatorsDefinition.ShortEqualEvaluator, EqualityEvaluatorsDefinition.ShortNotEqualEvaluator, EqualityEvaluatorsDefinition.StringEqualEvaluator, EqualityEvaluatorsDefinition.StringNotEqualEvaluator, FinishedByEvaluatorDefinition.FinishedByEvaluator, FinishesEvaluatorDefinition.FinishesEvaluator, IncludesEvaluatorDefinition.IncludesEvaluator, MatchesEvaluatorsDefinition.StringMatchesEvaluator, MatchesEvaluatorsDefinition.StringNotMatchesEvaluator, MeetsEvaluatorDefinition.MeetsEvaluator, MetByEvaluatorDefinition.MetByEvaluator, OverlappedByEvaluatorDefinition.OverlappedByEvaluator, OverlapsEvaluatorDefinition.OverlapsEvaluator, SetEvaluatorsDefinition.ArrayContainsEvaluator, SetEvaluatorsDefinition.ArrayExcludesEvaluator, SetEvaluatorsDefinition.BaseMemberOfEvaluator, SetEvaluatorsDefinition.BaseNotMemberOfEvaluator, SetEvaluatorsDefinition.ObjectContainsEvaluator, SetEvaluatorsDefinition.ObjectExcludesEvaluator, SoundslikeEvaluatorsDefinition.StringNotSoundsLikeEvaluator, SoundslikeEvaluatorsDefinition.StringSoundsLikeEvaluator, StartedByEvaluatorDefinition.StartedByEvaluator, StartsEvaluatorDefinition.StartsEvaluator, StrEvaluatorDefinition.StrEvaluator

public abstract class BaseEvaluator
extends Object
implements Evaluator, Externalizable

BaseEvaluator is an Object Comparator that is operator aware

See Also:
Serialized Form

Constructor Summary
BaseEvaluator()
           
BaseEvaluator(ValueType type, Operator operator)
           
 
Method Summary
 boolean equals(Object object)
           
 ValueType getCoercedValueType()
          Returns the value type this evaluator will coerce operands to, during evaluation.
 Interval getInterval()
          In case this is a temporal evaluator, returns the interval in which this evaluator may match the target fact
 Operator getOperator()
          Returns the operator representation object for this evaluator
 ValueType getValueType()
          Returns the type of the values this evaluator operates upon.
 int hashCode()
           
 boolean isTemporal()
          Returns true if this evaluator implements a temporal evaluation, i.e., a time sensitive evaluation whose properties of matching only events within an specific time interval can be used for determining event expirations automatically.
 Object prepareLeftObject(InternalFactHandle handle)
          Most evaluators operate on the fact attributes, so, by default, the implementation unwraps it, but subclasses can override this behaviour.
 Object prepareRightObject(InternalFactHandle handle)
          Most evaluators operate o symmetrical types of object on both sides, i.e., either they operate on facts on both sides, or fact handles on both sides.
 void readExternal(ObjectInput in)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.drools.spi.Evaluator
evaluate, evaluate, evaluateCachedLeft, evaluateCachedRight
 

Constructor Detail

BaseEvaluator

public BaseEvaluator()

BaseEvaluator

public BaseEvaluator(ValueType type,
                     Operator operator)
Method Detail

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

getOperator

public Operator getOperator()
Description copied from interface: Evaluator
Returns the operator representation object for this evaluator

Specified by:
getOperator in interface org.drools.runtime.rule.Evaluator

getValueType

public ValueType getValueType()
Description copied from interface: Evaluator
Returns the type of the values this evaluator operates upon.

Returns:

getCoercedValueType

public ValueType getCoercedValueType()
Description copied from interface: Evaluator
Returns the value type this evaluator will coerce operands to, during evaluation. This is useful for operators like "memberOf", that always convert to Object when evaluating, independently of the source operand value type.

Returns:

prepareLeftObject

public Object prepareLeftObject(InternalFactHandle handle)
Most evaluators operate on the fact attributes, so, by default, the implementation unwraps it, but subclasses can override this behaviour.

Returns:

prepareRightObject

public Object prepareRightObject(InternalFactHandle handle)
Most evaluators operate o symmetrical types of object on both sides, i.e., either they operate on facts on both sides, or fact handles on both sides. But eventually, some operators (like 'after') may differ in behaviour and so, they are allowed to override this method.

Returns:

isTemporal

public boolean isTemporal()
Description copied from interface: Evaluator
Returns true if this evaluator implements a temporal evaluation, i.e., a time sensitive evaluation whose properties of matching only events within an specific time interval can be used for determining event expirations automatically.

Specified by:
isTemporal in interface org.drools.runtime.rule.Evaluator
Returns:
true if the evaluator is a temporal evaluator.

getInterval

public Interval getInterval()
Description copied from interface: Evaluator
In case this is a temporal evaluator, returns the interval in which this evaluator may match the target fact

Returns:

equals

public boolean equals(Object object)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright © 2001-2013 JBoss Inc.. All Rights Reserved.