public PatternDescrBuilder<P> bind( String var, String target, boolean isUnification ) { descr.addConstraint( new BindingDescr( var, target, isUnification ) ); return this; }
public Object start( final String uri, final String localName, final Attributes attrs, final ExtensibleXmlParser parser ) throws SAXException { parser.startElementBuilder( localName, attrs ); final String identifier = attrs.getValue( "identifier" ); final String fieldName = attrs.getValue( "field-name" ); emptyAttributeCheck( localName, "identifier", identifier, parser ); emptyAttributeCheck( localName, "fieldName", fieldName, parser ); final BindingDescr fieldBindingDescr = new BindingDescr( identifier, fieldName); return fieldBindingDescr; }
protected static Declaration createDeclarationObject( final RuleBuildContext context, final String identifier, final String expr, final Pattern pattern ) { final BindingDescr implicitBinding = new BindingDescr( identifier, expr ); final Declaration declaration = new Declaration( identifier, null, pattern, true ); InternalReadAccessor extractor = getFieldReadAccessor( context, implicitBinding, pattern.getObjectType(), implicitBinding.getExpression(), declaration, false ); if ( extractor == null ) { return null; } declaration.setReadAccessor( extractor ); return declaration; }
int offset = bind.isUnification() ? 2 : 1; String fullExpression = (left!=null?input.toString(left.start,left.stop):null).substring( (left!=null?input.toString(left.start,left.stop):null).indexOf( ":" ) + offset ).trim(); result = new BindingDescr( bind.getVariable(), bind.getExpression(), fullExpression, bind.isUnification() );
COLON9=(Token)match(input,COLON,FOLLOW_COLON_in_unaryExpressionNotPlusMinus2419); if (state.failed) return retval; if ( state.backtracking==0 ) { hasBindings = true; helper.emit(var, DroolsEditorType.IDENTIFIER_VARIABLE); helper.emit(COLON9, DroolsEditorType.SYMBOL); if( buildDescr ) { bind = new BindingDescr((var!=null?var.getText():null), null, false); helper.setStart( bind, var ); } UNIFY10=(Token)match(input,UNIFY,FOLLOW_UNIFY_in_unaryExpressionNotPlusMinus2460); if (state.failed) return retval; if ( state.backtracking==0 ) { hasBindings = true; helper.emit(var, DroolsEditorType.IDENTIFIER_VARIABLE); helper.emit(UNIFY10, DroolsEditorType.SYMBOL); if( buildDescr ) { bind = new BindingDescr((var!=null?var.getText():null), null, true); helper.setStart( bind, var ); }
BindingDescr binder = new BindingDescr(); binder.setUnification( true ); binder.setExpression( field.getName() );