private void scanInValue() { List<ScelNode> values = new ArrayList<>(); String literal = scanInValues(values).trim(); nodes.add(new ScelNode(ScelToken.VALUE, literal, values)); }
private void scanAndOr() { if (ch == ',') { nodes.add(AND); nextChar(); return; } String s = nextLiteral(); if (s.equalsIgnoreCase("and")) { nodes.add(new ScelNode(ScelToken.AND, s)); } else if (s.equalsIgnoreCase("or")) { nodes.add(new ScelNode(ScelToken.OR, s)); } else { error("Expect 'AND' or 'OR' operator but was '" + s + "'"); } }
private boolean scanName() { String alias = null; String name = scanIdentifier(true); if (name.equalsIgnoreCase("not")) { nodes.add(new ScelNode(ScelToken.NOT, name)); return false; } if (ch == '.') { nextChar(); alias = name; name = scanIdentifier(false); } nodes.add(new ScelName(alias, name)); return true; }
nodes.add(new ScelNode(ScelToken.IS_NOT, op)); String s = nextLiteral(); if (!s.equalsIgnoreCase("null")) { error("Expected 'null' but '" + s + "'"); nodes.add(new ScelNode(ScelToken.NULL, s)); return false; } else if (token == ScelToken.IS) { String s = nextLiteral(); if (s.equalsIgnoreCase("not")) { nodes.add(new ScelNode(ScelToken.IS_NOT, op + " " + s)); s = nextLiteral(); if (!s.equalsIgnoreCase("null")) { error("Expected 'null' but '" + s + "'"); nodes.add(new ScelNode(ScelToken.NULL, s)); return false; } else { nodes.add(new ScelNode(token, op)); if (s.equalsIgnoreCase("null")) { nodes.add(new ScelNode(ScelToken.NULL, s)); return false; nodes.add(new ScelNode(token, op)); scanInValue(); return false; } else { nodes.add(new ScelNode(token, op));