*/
public boolean evaluate(Object left,
Object right) {
if (rightBinding == null) {
return evaluator.evaluate( workingMemory,
leftBinding != null ? leftExtractor : new ConstantValueReader(left),
leftHandle,
new ObjectFieldImpl(right) );
}
return evaluator.evaluate( workingMemory,
leftBinding != null ? leftExtractor : new ConstantValueReader(left),
leftHandle,
rightBinding != null
? ( rightHandle != null ? rightExtractor : new ConstantValueReader( rightExtractor.getValue( workingMemory, right ) ) )
: new ConstantValueReader(right),
rightHandle );
}