public void visitBindingDescr(final BindingDescr descr) { this.template = new String(); this.template = "<field-binding field-name=\"" + descr.getExpression() + "\" identifier=\"" + descr.getVariable() + "\" />" + XmlDumper.eol; }
private void processBinding(StringBuilder sbuilder, BindingDescr bind, ConstraintConnectiveDescr parent, boolean isInsideRelCons, MVELDumperContext context) { String expr = bind.getExpression().trim(); AtomicExprDescr atomicExpr = new AtomicExprDescr(expr); String[] constrAndExpr = processImplicitConstraints(expr, atomicExpr, parent, parent.getDescrs().indexOf( bind ), context ); if ( isInsideRelCons ) { sbuilder.append( constrAndExpr[0] ).append( constrAndExpr[1] ); } else if ( constrAndExpr[0].length() > 4 ) { sbuilder.append( constrAndExpr[ 0 ].substring( 0, constrAndExpr[ 0 ].length() - 4 ) ); } if (bind.getExpression().equals(bind.getBindingField())) { bind.setExpressionAndBindingField( constrAndExpr[1] ); } else { bind.setExpression( constrAndExpr[1] ); } context.addBinding(bind); }
private boolean findExpressionValues(RelationalExprDescr relDescr, String[] values) { boolean usesThisRef; if ( relDescr.getRight() instanceof AtomicExprDescr ) { AtomicExprDescr rdescr = ((AtomicExprDescr) relDescr.getRight()); values[1] = rdescr.getRewrittenExpression().trim(); usesThisRef = "this".equals( values[1] ) || values[1].startsWith("this."); } else { BindingDescr rdescr = ((BindingDescr) relDescr.getRight()); values[1] = rdescr.getExpression().trim(); usesThisRef = "this".equals( values[1] ) || values[1].startsWith("this."); } if ( relDescr.getLeft() instanceof AtomicExprDescr ) { AtomicExprDescr ldescr = (AtomicExprDescr) relDescr.getLeft(); values[0] = ldescr.getRewrittenExpression(); usesThisRef = usesThisRef || "this".equals( values[0] ) || values[0].startsWith("this."); } else { values[0] = ((BindingDescr) relDescr.getLeft()).getExpression(); usesThisRef = usesThisRef || "this".equals( values[0] ) || values[0].startsWith("this."); } return usesThisRef; }
if ( (left!=null?input.toString(left.start,left.stop):null).equals(((BindingDescr)(left!=null?left.result:null)).getExpression()) ) { result = (left!=null?left.result:null); } else { 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() );
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; }
if ( base instanceof BindingDescr ) { bind = (BindingDescr) base; expression = bind.getVariable() + (bind.isUnification() ? " := " : " : ") + bind.getExpression(); isBinding = true; } else {
if ( declr != null ) { int pos = getPos( bind.getExpression(), params ); if ( pos >= 0 ) { String slot = bind.getExpression(); String var = bind.getVariable(); bind.setVariable( slot ); bind.getExpression() ); if ( declr != null ) { arguments.set( pos, ConstraintConnectiveDescr bresult = parser.parse( bind.getExpression() ); if ( parser.hasErrors() ) { for ( DroolsParserException error : parser.getErrors() ) { pos = getPos( bind.getExpression(), params ); if ( pos < 0 ) { descr, null, "named argument does not exist:\n" + bind.getExpression() ) ); return;
result = new RelationalExprDescr( (op!=null?op.opr:null), (op!=null?op.negated:false), sa, ((relationalExpression_scope)relationalExpression_stack.peek()).lsd, descr ); if( ((relationalExpression_scope)relationalExpression_stack.peek()).lsd instanceof BindingDescr ) { ((relationalExpression_scope)relationalExpression_stack.peek()).lsd = new AtomicExprDescr( ((BindingDescr)((relationalExpression_scope)relationalExpression_stack.peek()).lsd).getExpression() );
if ( b instanceof BindingDescr ) { BindingDescr bind = (BindingDescr) b; expression = bind.getVariable() + (bind.isUnification() ? " := " : " : ") + bind.getExpression(); } else if ( b instanceof ExprConstraintDescr ) { ExprConstraintDescr descr = (ExprConstraintDescr) b;
if( left instanceof BindingDescr ) { binding = (BindingDescr)left; leftDescr = new AtomicExprDescr( binding.getExpression() ); } else { leftDescr = left;