16 package emlab.gen.repository;
18 import java.util.NoSuchElementException;
20 import com.tinkerpop.blueprints.pgm.Edge;
21 import com.tinkerpop.blueprints.pgm.Vertex;
22 import com.tinkerpop.pipes.AbstractPipe;
23 import com.tinkerpop.pipes.Pipe;
24 import com.tinkerpop.gremlin.pipes.transform.BothEdgesPipe;
25 import com.tinkerpop.gremlin.pipes.transform.BothVerticesPipe;
26 import com.tinkerpop.gremlin.pipes.transform.InEdgesPipe;
27 import com.tinkerpop.gremlin.pipes.transform.InVertexPipe;
28 import com.tinkerpop.gremlin.pipes.transform.OutEdgesPipe;
29 import com.tinkerpop.gremlin.pipes.transform.OutVertexPipe;
30 import com.tinkerpop.pipes.util.Pipeline;
32 public class LabeledEdgePipe extends AbstractPipe<Vertex, Vertex> implements Pipe<Vertex, Vertex> {
35 OUT_IN, IN_OUT, BOTH_BOTH
38 Pipe<Vertex, Vertex> pipe;
42 Pipe<Vertex, Edge> edges = null;
43 Pipe<Edge, Vertex> vertices = null;
47 edges =
new OutEdgesPipe(label);
49 vertices =
new InVertexPipe();
53 edges =
new InEdgesPipe(label);
55 vertices =
new OutVertexPipe();
59 edges =
new BothEdgesPipe(label);
61 vertices =
new BothVerticesPipe();
66 pipe =
new Pipeline<Vertex, Vertex>(edges, vertices);
70 protected Vertex processNextStart() throws NoSuchElementException {
71 pipe.setStarts(this.starts);