@Override public void apply(final Traversal.Admin<?, ?> traversal) { if (traversal.getParent() instanceof EmptyStep) { this.sideEffects.forEach(triplet -> traversal.getSideEffects().register(triplet.getValue0(), triplet.getValue1(), triplet.getValue2())); } }
@Override public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final Triplet triplet) { kryo.writeClassAndObject(output, triplet.getValue0()); kryo.writeClassAndObject(output, triplet.getValue1()); kryo.writeClassAndObject(output, triplet.getValue2()); }
/** * Asserts that two graphs are the "same" in way of structure. It assumes that the graphs both have vertices * with an "oid" property that is an Integer value. It iterates each vertex in graph 1, using the "oid" to * lookup vertices in graph 2. For each one found it checks both IN and OUT vertices to ensure that they * attach to the same IN/OUT vertices given their "oid" properties. */ protected boolean same(final Graph g1, final Graph g2) { return IteratorUtils.stream(g1.vertices()) .map(v -> Triplet.<Integer, List<Vertex>, List<Vertex>>with(v.value("oid"), IteratorUtils.list(v.vertices(Direction.IN)), IteratorUtils.list(v.vertices(Direction.OUT)))) .allMatch(p -> { final Vertex v = IteratorUtils.filter(g2.vertices(), vx -> vx.value("oid").equals(p.getValue0())).next(); return sameInVertices(v, p.getValue1()) && sameOutVertices(v, p.getValue2()); }); }
@Override public Key createKey(String name, String comment, Map<String, Triplet<String, Boolean, Boolean>> translations) { Key key = new Key(); key.setEntityId(name); key.setComment(comment); for (Map.Entry<String, Triplet<String, Boolean, Boolean>> entry : translations.entrySet()) { key.addTranslation(entry.getKey(), entry.getValue().getValue0(), entry.getValue().getValue1(), entry.getValue().getValue2()); } return key; } }
public <X0,X1,X2> Decade<A,B,C,D,E,F,X0,X1,X2,G> addAt6(final Triplet<X0,X1,X2> tuple) { return addAt6(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Decade<A,B,C,D,E,F,G,X0,X1,X2> addAt7(final Triplet<X0,X1,X2> tuple) { return addAt7(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Octet<A,B,C,D,E,X0,X1,X2> addAt5(final Triplet<X0,X1,X2> tuple) { return addAt5(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Ennead<A,B,X0,X1,X2,C,D,E,F> addAt2(final Triplet<X0,X1,X2> tuple) { return addAt2(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Septet<A,B,X0,X1,X2,C,D> addAt2(final Triplet<X0,X1,X2> tuple) { return addAt2(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Septet<A,B,C,D,X0,X1,X2> addAt4(final Triplet<X0,X1,X2> tuple) { return addAt4(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Quintet<A,B,X0,X1,X2> addAt2(final Triplet<X0,X1,X2> tuple) { return addAt2(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Sextet<X0,X1,X2,A,B,C> addAt0(final Triplet<X0,X1,X2> tuple) { return addAt0(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Sextet<A,X0,X1,X2,B,C> addAt1(final Triplet<X0,X1,X2> tuple) { return addAt1(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Decade<A,B,C,D,X0,X1,X2,E,F,G> addAt4(final Triplet<X0,X1,X2> tuple) { return addAt4(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Decade<A,B,C,D,E,X0,X1,X2,F,G> addAt5(final Triplet<X0,X1,X2> tuple) { return addAt5(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Decade<A,B,C,D,E,F,X0,X1,X2,G> addAt6(final Triplet<X0,X1,X2> tuple) { return addAt6(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
public <X0,X1,X2> Septet<A,B,C,X0,X1,X2,D> addAt3(final Triplet<X0,X1,X2> tuple) { return addAt3(tuple.getValue0(),tuple.getValue1(),tuple.getValue2()); }
@Override public void apply(final Traversal.Admin<?, ?> traversal) { if (traversal.getParent() instanceof EmptyStep) { this.sideEffects.forEach(triplet -> traversal.getSideEffects().register(triplet.getValue0(), triplet.getValue1(), triplet.getValue2())); } }
@Override public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final Triplet triplet) { kryo.writeClassAndObject(output, triplet.getValue0()); kryo.writeClassAndObject(output, triplet.getValue1()); kryo.writeClassAndObject(output, triplet.getValue2()); }