private void visitPath(Path path, boolean needParensThisTime) { if ( alwaysInnerParens ) needParensThisTime = true ; boolean b = needParens ; needParens = needParensThisTime ; path.visit(this) ; needParens = b ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_OneOrMoreN) ) return false ; P_OneOrMoreN other = (P_OneOrMoreN)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
private void parse(String string, boolean expectLegal) { Prologue prologue = new Prologue(pmap) ; Path p = null ; try { p = PathParser.parse(string, prologue) ; // System.out.println(string+" ==> "+p.toString(new Prologue(pmap))) ; // System.out.println(PathWriterSSE.asString(p, new Prologue(pmap))) ; if ( ! expectLegal ) fail("Expected error; "+string) ; } catch (QueryParseException ex) { if ( expectLegal ) fail("Expected success: "+string+": "+ex.getMessage()) ; return ; } String x = p.toString(prologue) ; Path p2 = PathParser.parse(x, prologue) ; assertEquals(p, p2) ; String sse = WriterPath.asString(p, prologue) ; Item item = SSE.parseItem(sse, pmap) ; p2 = BuilderPath.buildPath(item) ; assertEquals(p, p2) ; }
private void output(Path path) { path.visit(this) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_ZeroOrOne) ) return false ; P_ZeroOrOne other = (P_ZeroOrOne)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
private void after(Path path) { if ( afterVisitor != null ) path.visit(afterVisitor) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_OneOrMore1) ) return false ; P_OneOrMore1 other = (P_OneOrMore1)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
private void before(Path path) { if ( beforeVisitor != null ) path.visit(beforeVisitor) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_ZeroOrMoreN) ) return false ; P_ZeroOrMoreN other = (P_ZeroOrMoreN)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
PartialNfa<V, T> process(Path path) { path.visit(this); PartialNfa<V, T> result = stack.pop(); return result; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Inverse) ) return false; P_Inverse other = (P_Inverse)path2; return getSubPath().equalTo(other.getSubPath(), isoMap); }
/** Evaluate a path */ /*package*/ static void eval$(Graph graph, Node node, Path path, PathEngine engine, Collection<Node> acc) { PathEvaluator evaluator = new PathEvaluator(graph, node, acc, engine) ; path.visit(evaluator) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Distinct) ) return false; P_Distinct other = (P_Distinct)path2; return getSubPath().equalTo(other.getSubPath(), isoMap); }
public static void walk(Path path, PathVisitor visitor, PathVisitor beforeVisitor, PathVisitor afterVisitor) { PathVisitorWalker w = new PathVisitorWalker(visitor, beforeVisitor, afterVisitor) ; path.visit(w) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_ZeroOrMore1) ) return false ; P_ZeroOrMore1 other = (P_ZeroOrMore1)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Mod) ) return false; P_Mod other = (P_Mod)path2; return other.min == min && other.max == max && getSubPath().equalTo(other.getSubPath(), isoMap); }
@Override public Path apply(Path path) { path.visit(visitor); Path result = visitor.getResult(); return result; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Shortest) ) return false ; P_Shortest other = (P_Shortest)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
public static void write(IndentedWriter out, Path path, Prologue prologue) { PathWriterWorker w = new PathWriterWorker(out, prologue) ; path.visit(w) ; out.flush() ; }