@Override public Path transform(P_Distinct path, Path subPath) { Path result = path.getSubPath() == subPath ? path : new P_Distinct(subPath) ; return result; }
@Override public int hashCode() { return getSubPath().hashCode() ^ hashDistinct; }
public static Path pathDistinct(Path path) { return new P_Distinct(path) ; } public static Path pathMulti(Path path) { return new P_Multi(path) ; }
@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); }
@Override public Path make(ItemList list) { BuilderLib.checkLength(2, 2, list, "path distinct: wanted 1 argument") ; Path path = build(list, 1) ; return new P_Distinct(path) ; } } ;
@Override public void visit(P_Distinct path) { Path newSubPath = apply(path.getSubPath()); result = path.getSubPath() == newSubPath ? path : new P_Distinct(newSubPath) ; }
@Override public void visit(P_Distinct pathDistinct) { writePath(Tags.tagPathDistinct, pathDistinct.getSubPath()) ; }
@Override public Path transform(P_Distinct path, Path subPath) { Path result = new P_Distinct(new P_Inverse(subPath)); return result; }
@Override public void visit(P_Distinct path) { result = new P_Distinct(new P_Inverse(path.getSubPath())); }
@Override public void visit(P_Distinct path) { before(path); if (path.getSubPath() != null) { path.getSubPath().visit(this); } proc.visit(path); after(path); }
@Override public void visit(P_Distinct pathDistinct) { pathDistinct.getSubPath().visit(this); push(new P_Distinct(pop())); }
@Override public void visit(P_Distinct pathDistinct) { PathEngine engine2 = engine ; engine = new PathEngine1(graph, engine.direction()) ; engine.eval(pathDistinct.getSubPath(), node, output) ; engine = engine2 ; }
@Override public void visit(P_Distinct pathDistinct) { pathDistinct.getSubPath().visit(this); push(new P_Distinct(pop())); }
@Override public void visit(P_Distinct pathDistinct) { out.print("DISTINCT(") ; pathDistinct.getSubPath().visit(this) ; out.print(")") ; }