protected boolean isSimpleExpr( final RelationalExprDescr relDescr ) { boolean simple = false; if ( relDescr != null ) { if ( (relDescr.getLeft() instanceof AtomicExprDescr || relDescr.getLeft() instanceof BindingDescr) && (relDescr.getRight() instanceof AtomicExprDescr || relDescr.getRight() instanceof BindingDescr) ) { simple = true; } } return simple; }
private void processRelationalExpression(StringBuilder sbuilder, RelationalExprDescr red, ConstraintConnectiveDescr parent, MVELDumperContext context) { // maximum precedence, so wrap any child connective in parenthesis int idx = parent.getDescrs().indexOf( red ); StringBuilder left = dump(new StringBuilder(), red.getLeft(), parent, idx, Integer.MAX_VALUE, true, context); StringBuilder right = red.getRight() instanceof AtomicExprDescr ? processRightAtomicExpr(left, (AtomicExprDescr)red.getRight(), parent, idx, context) : dump( new StringBuilder(), red.getRight(), parent, idx, Integer.MAX_VALUE, true, context); processRestriction( context, sbuilder, left.toString(), red.getOperatorDescr(), right.toString() );// maximum precedence, so wrap any child connective in parenthesis }
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; }