b.addConstraint( new EvaluatorConstraint( new Declaration[] { a.getDeclaration() },
evals.getEvaluator( ValueType.OBJECT_TYPE,
AfterEvaluatorDefinition.AFTER,
"-2,2"),
new SelfReferenceClassFieldReader( StockTick.class, "this" ) ) );
Pattern c = new Pattern( 2, ot, "$c" );
c.addConstraint( new EvaluatorConstraint( new Declaration[] { a.getDeclaration() },
evals.getEvaluator( ValueType.OBJECT_TYPE,
AfterEvaluatorDefinition.AFTER,
"-3,4"),
new SelfReferenceClassFieldReader( StockTick.class, "this" ) ) );
Pattern d = new Pattern( 3, ot, "$d" );
d.addConstraint( new EvaluatorConstraint( new Declaration[] { b.getDeclaration() },
evals.getEvaluator( ValueType.OBJECT_TYPE,
AfterEvaluatorDefinition.AFTER,
"1,2"),
new SelfReferenceClassFieldReader( StockTick.class, "this" ) ) );
d.addConstraint( new EvaluatorConstraint( new Declaration[] { c.getDeclaration() },
evals.getEvaluator( ValueType.OBJECT_TYPE,
AfterEvaluatorDefinition.AFTER,
"2,3"),
new SelfReferenceClassFieldReader( StockTick.class, "this" ) ) );
Pattern e = new Pattern( 4, ot, "$e" );
e.addConstraint(new EvaluatorConstraint(new Declaration[]{d.getDeclaration()},
evals.getEvaluator(ValueType.OBJECT_TYPE,
AfterEvaluatorDefinition.AFTER,
"1,10"),
new SelfReferenceClassFieldReader(StockTick.class, "this")));
GroupElement not = new GroupElement( Type.NOT );
not.addChild( e );
GroupElement and = new GroupElement( Type.AND );
and.addChild( a );