Class ConstraintEvaluator
- java.lang.Object
-
- jadex.rules.rulesystem.rete.constraints.ConstraintEvaluator
-
- All Implemented Interfaces:
IConstraintEvaluator
public class ConstraintEvaluator extends java.lang.Object implements IConstraintEvaluator
A constraint evaluator is responsible for evaluating constraints. It operates on an operator and two extractors. It uses the extractors to fetch the values and invokes the operator subsequently with the values.
-
-
Field Summary
Fields Modifier and Type Field Description protected IValueExtractorextractor1The value extractor 1.protected IValueExtractorextractor2The value extractor 2.protected IOperatoroperatorThe operator.
-
Constructor Summary
Constructors Constructor Description ConstraintEvaluator(IOperator operator, IValueExtractor extractor1, IValueExtractor extractor2)Create a new constraint evaluator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)Test if the evaluator equals an object.booleanevaluate(java.lang.Object right, Tuple left, IOAVState state)Evaluate the constraints given the right object, left tuple (null for alpha nodes) and the state.IValueExtractorgetExtractor1()Get the first value extractor.IValueExtractorgetExtractor2()Get the second value extractor.AttributeSetgetIndirectAttributes()Get the set of indirect attribute types.IOperatorgetOperator()Get the operator.AttributeSetgetRelevantAttributes()Get the set of relevant attribute types.inthashCode()Get the hash code.booleanisAffected(int tupleindex, OAVAttributeType attr)Test if a constraint evaluator is affected from a change of a certain attribute.java.lang.StringtoString()Get the string representation.
-
-
-
Field Detail
-
operator
protected IOperator operator
The operator.
-
extractor1
protected IValueExtractor extractor1
The value extractor 1.
-
extractor2
protected IValueExtractor extractor2
The value extractor 2.
-
-
Constructor Detail
-
ConstraintEvaluator
public ConstraintEvaluator(IOperator operator, IValueExtractor extractor1, IValueExtractor extractor2)
Create a new constraint evaluator.- Parameters:
operator- The operator.extractor1- The first extractor.extractor2- The second extractor.
-
-
Method Detail
-
evaluate
public boolean evaluate(java.lang.Object right, Tuple left, IOAVState state)Evaluate the constraints given the right object, left tuple (null for alpha nodes) and the state.- Specified by:
evaluatein interfaceIConstraintEvaluator- Parameters:
right- The right input object.left- The left input tuple.state- The working memory.
-
isAffected
public boolean isAffected(int tupleindex, OAVAttributeType attr)Test if a constraint evaluator is affected from a change of a certain attribute.- Specified by:
isAffectedin interfaceIConstraintEvaluator- Parameters:
tupleindex- The tuple index.attr- The attribute.- Returns:
- True, if affected.
-
getRelevantAttributes
public AttributeSet getRelevantAttributes()
Get the set of relevant attribute types.- Specified by:
getRelevantAttributesin interfaceIConstraintEvaluator
-
getIndirectAttributes
public AttributeSet getIndirectAttributes()
Get the set of indirect attribute types. I.e. attributes of objects, which are not part of an object conditions (e.g. for chained extractors)- Specified by:
getIndirectAttributesin interfaceIConstraintEvaluator- Returns:
- The relevant attribute types.
-
toString
public java.lang.String toString()
Get the string representation.- Overrides:
toStringin classjava.lang.Object- Returns:
- The string representation.
-
getOperator
public IOperator getOperator()
Get the operator.
-
getExtractor1
public IValueExtractor getExtractor1()
Get the first value extractor.
-
getExtractor2
public IValueExtractor getExtractor2()
Get the second value extractor.
-
hashCode
public int hashCode()
Get the hash code.- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
Test if the evaluator equals an object.- Overrides:
equalsin classjava.lang.Object
-
-