public static JexlNode createFromClass(Class<?> clz) { if (clz.equals(ASTEQNode.class)) { return new ASTEQNode(ParserTreeConstants.JJTEQNODE); } else if (clz.equals(ASTERNode.class)) { return new ASTERNode(ParserTreeConstants.JJTERNODE); } else if (clz.equals(ASTNENode.class)) { return new ASTNENode(ParserTreeConstants.JJTNENODE); } else if (clz.equals(ASTNRNode.class)) { return new ASTNRNode(ParserTreeConstants.JJTNRNODE); } else { throw new RuntimeException("unhandled class " + clz.getName()); } }
@Override public JexlNode getIndexQuery(ShardQueryConfiguration config, MetadataHelper helper, DateIndexHelper dateIndexHelper, Set<String> datatypeFilter) { // return the true node if unable to parse arguments. JexlNode returnNode = TRUE_NODE; if (name.equals("between")) { JexlNode geNode = JexlNodeFactory.buildNode(new ASTGENode(ParserTreeConstants.JJTGENODE), args.get(0), args.get(1).image); JexlNode leNode = JexlNodeFactory.buildNode(new ASTLENode(ParserTreeConstants.JJTLENODE), args.get(0), args.get(2).image); // now link em up returnNode = JexlNodeFactory.createAndNode(Arrays.asList(geNode, leNode)); } else if (name.equals("length")) { // create a regex node with the appropriate number of matching characters returnNode = JexlNodeFactory.buildNode(new ASTERNode(ParserTreeConstants.JJTERNODE), args.get(0), ".{" + args.get(1).image + ',' + args.get(2).image + '}'); } return returnNode; }
/** * Create a new ASTERNode from the given field name and value * * @param original * @param fieldName * @param fieldValue * @return */ public static JexlNode buildNode(ASTERNode original, String fieldName, String fieldValue) { ASTERNode newNode = new ASTERNode(ParserTreeConstants.JJTERNODE); if (null != original) { newNode.jjtSetParent(original.jjtGetParent()); } return buildUntypedNewNode(newNode, buildIdentifier(fieldName), fieldValue); }
/** * Create a new ASTERNode from the given field name and value * * @param original * @param fieldName * @param fieldValue * @return */ public static JexlNode buildNode(ASTERNode original, String fieldName, Number fieldValue) { ASTERNode newNode = new ASTERNode(ParserTreeConstants.JJTERNODE); if (null != original) { newNode.jjtSetParent(original.jjtGetParent()); } return buildUntypedNewNode(newNode, buildIdentifier(fieldName), fieldValue); }
/** * Create a new ASTERNode from the given field name and value * * @param original * @param fieldName * @param fieldValue * @return */ public static JexlNode buildNode(ASTERNode original, String fieldName, JexlNode fieldValue) { ASTERNode newNode = new ASTERNode(ParserTreeConstants.JJTERNODE); 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(ASTERNode node, Object data) { if (node.jjtGetNumChildren() == 2) { JexlNode child1 = JexlASTHelper.dereference(node.jjtGetChild(0)); if (isLiteral(child1)) { return reparent(node, new ASTERNode(ParserTreeConstants.JJTERNODE)); } } return super.visit(node, data); }
copy = new ASTEQNode(ParserTreeConstants.JJTEQNODE); } else if (ASTERNode.class.isAssignableFrom(clz)) { copy = new ASTERNode(ParserTreeConstants.JJTERNODE); } else if (ASTFalseNode.class.isAssignableFrom(clz)) { copy = new ASTFalseNode(ParserTreeConstants.JJTFALSENODE);
public static JexlNode buildNullNode(JexlNode original, ASTIdentifier identifier) { JexlNode copy; if (original instanceof ASTEQNode) { copy = new ASTEQNode(ParserTreeConstants.JJTEQNODE); } else if (original instanceof ASTNENode) { copy = new ASTNENode(ParserTreeConstants.JJTNENODE); } else if (original instanceof ASTERNode) { copy = new ASTERNode(ParserTreeConstants.JJTERNODE); } else if (original instanceof ASTNRNode) { copy = new ASTNRNode(ParserTreeConstants.JJTNRNODE); } else if (original instanceof ASTGTNode) { copy = new ASTGTNode(ParserTreeConstants.JJTGTNODE); } else if (original instanceof ASTGENode) { copy = new ASTGENode(ParserTreeConstants.JJTGENODE); } else if (original instanceof ASTLTNode) { copy = new ASTLTNode(ParserTreeConstants.JJTLTNODE); } else if (original instanceof ASTLENode) { copy = new ASTLENode(ParserTreeConstants.JJTLENODE); } else { throw new UnsupportedOperationException("Cannot handle " + original); } copy.jjtSetParent(original.jjtGetParent()); ASTNullLiteral literalNode = new ASTNullLiteral(ParserTreeConstants.JJTNULLLITERAL); return buildUntypedNewLiteralNode(copy, identifier, literalNode); }
copy = new ASTNENode(ParserTreeConstants.JJTNENODE); } else if (original instanceof ASTERNode) { copy = new ASTERNode(ParserTreeConstants.JJTERNODE); } else if (original instanceof ASTNRNode) { copy = new ASTNRNode(ParserTreeConstants.JJTNRNODE);
case req: jj_consume_token(req); ASTERNode jjtn005 = new ASTERNode(JJTERNODE); boolean jjtc005 = true; jjtree.openNodeScope(jjtn005);