}
}
}
private void visitSingleFieldConstraint( final SingleFieldConstraint sfc ) {
final InterpolationVariable var = new InterpolationVariable( sfc.getValue(),
sfc.getFieldType(),
( factPattern == null ? "" : factPattern.getFactType() ),
sfc.getFieldName() );
if ( BaseSingleFieldConstraint.TYPE_TEMPLATE == sfc.getConstraintValueType() && !vars.contains( var ) ) {
vars.add( var );
} else {
hasNonTemplateOutput = true;
}
//Visit Connection constraints
if ( sfc.getConnectives() != null ) {
for ( int i = 0; i < sfc.getConnectives().length; i++ ) {
final ConnectiveConstraint cc = sfc.getConnectives()[ i ];
InterpolationVariable ccVar = new InterpolationVariable( cc.getValue(),
cc.getFieldType(),
( factPattern == null ? "" : factPattern.getFactType() ),
cc.getFieldName() );
if ( BaseSingleFieldConstraint.TYPE_TEMPLATE == cc.getConstraintValueType() && !vars.contains( ccVar ) ) {
vars.add( ccVar );