/** * Create a new ASTNRNode from the given field name and value * * @param original * @param fieldName * @param fieldValue * @return */ public static JexlNode buildNode(ASTNRNode original, String fieldName, JexlNode fieldValue) { ASTNRNode newNode = new ASTNRNode(ParserTreeConstants.JJTNRNODE); if (null != original) { newNode.jjtSetParent(original.jjtGetParent()); } return buildUntypedNewNode(newNode, buildIdentifier(fieldName), fieldValue); }
/** * Create a new ASTNRNode from the given field name and value * * @param original * @param fieldName * @param fieldValue * @return */ public static JexlNode buildNode(ASTNRNode original, String fieldName, Number fieldValue) { ASTNRNode newNode = new ASTNRNode(ParserTreeConstants.JJTNRNODE); if (null != original) { newNode.jjtSetParent(original.jjtGetParent()); } return buildUntypedNewNode(newNode, buildIdentifier(fieldName), fieldValue); }
/** * Create a new ASTNRNode from the given field name and value * * @param original * @param fieldName * @param fieldValue * @return */ public static JexlNode buildNode(ASTNRNode original, String fieldName, String fieldValue) { ASTNRNode newNode = new ASTNRNode(ParserTreeConstants.JJTNRNODE); if (null != original) { newNode.jjtSetParent(original.jjtGetParent()); } return buildUntypedNewNode(newNode, buildIdentifier(fieldName), fieldValue); }
@Override public Object visit(ASTNRNode notEquals, Object data) { final JexlNode root = notEquals.jjtGetParent(); final JexlNode equals = children(new ASTERNode(ParserTreeConstants.JJTERNODE), children(notEquals)); swap(root, notEquals, negate(equals)); return null; }
@Override public Object visit(ASTNRNode node, Object data) { concurrentExecution(); try { Object obj = expandFieldNames(node, false); concurrentExecution(); return obj; } catch (CannotExpandUnfieldedTermFatalException e) { ASTOrNode emptyOrNode = new ASTOrNode(ParserTreeConstants.JJTORNODE); emptyOrNode.jjtSetParent(node.jjtGetParent()); return emptyOrNode; } }