From 6b3a372dd6f0ca898c6f899088c5b234b27fc8eb Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com> Date: Mon, 25 Sep 2017 19:52:08 -0400 Subject: [PATCH] refactor: removed upper bound restriction on generics parameter in traverse method. --- CHANGELOG.md | 2 ++ src/main/java/com/syncleus/ferma/AbstractEdgeFrame.java | 2 +- src/main/java/com/syncleus/ferma/AbstractVertexFrame.java | 2 +- src/main/java/com/syncleus/ferma/EdgeFrame.java | 2 +- src/main/java/com/syncleus/ferma/VertexFrame.java | 2 +- src/test/java/com/syncleus/ferma/FramedVertexTest.java | 3 +-- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48bdd905..e1e6ac68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,8 @@ vertex in the users custom model. * Methods annotated with the `@Incidence` annotation can now return a `List` or a `Set` in addition to the usual `Iterator` return type. +* Removed the upper bound on traversal generics. The travese function's argument has changed from + `GraphTraversal<? extends Vertex, ? extends Vertex>` to `GraphTraversal<Vertex, Vertex>`. ## 3.1.0 diff --git a/src/main/java/com/syncleus/ferma/AbstractEdgeFrame.java b/src/main/java/com/syncleus/ferma/AbstractEdgeFrame.java index 41b1d2ba..f94ae158 100644 --- a/src/main/java/com/syncleus/ferma/AbstractEdgeFrame.java +++ b/src/main/java/com/syncleus/ferma/AbstractEdgeFrame.java @@ -83,7 +83,7 @@ public abstract class AbstractEdgeFrame extends AbstractElementFrame implements } @Override - public <T extends Traversable<?, ?>> T traverse(final Function<GraphTraversal<? extends Edge, ? extends Edge>, GraphTraversal<?, ?>> traverser) { + public <T extends Traversable<?, ?>> T traverse(final Function<GraphTraversal<Edge, Edge>, GraphTraversal<?, ?>> traverser) { return this.getGraph().traverse(input -> traverser.apply(input.E(getElement().id()))); } diff --git a/src/main/java/com/syncleus/ferma/AbstractVertexFrame.java b/src/main/java/com/syncleus/ferma/AbstractVertexFrame.java index f00568b7..98c66d08 100644 --- a/src/main/java/com/syncleus/ferma/AbstractVertexFrame.java +++ b/src/main/java/com/syncleus/ferma/AbstractVertexFrame.java @@ -268,7 +268,7 @@ public abstract class AbstractVertexFrame extends AbstractElementFrame implement } @Override - public <T extends Traversable<?, ?>> T traverse(final Function<GraphTraversal<? extends Vertex, ? extends Vertex>, GraphTraversal<?, ?>> traverser) { + public <T extends Traversable<?, ?>> T traverse(final Function<GraphTraversal<Vertex, Vertex>, GraphTraversal<?, ?>> traverser) { return this.getGraph().traverse(input -> traverser.apply(input.V(getElement().id()))); } diff --git a/src/main/java/com/syncleus/ferma/EdgeFrame.java b/src/main/java/com/syncleus/ferma/EdgeFrame.java index e4cc82ac..69d60098 100644 --- a/src/main/java/com/syncleus/ferma/EdgeFrame.java +++ b/src/main/java/com/syncleus/ferma/EdgeFrame.java @@ -56,7 +56,7 @@ public interface EdgeFrame extends ElementFrame { */ <T> T reframeExplicit(Class<T> kind); - <T extends Traversable<?, ?>> T traverse(Function<GraphTraversal<? extends Edge, ? extends Edge>, GraphTraversal<?, ?>> traverser); + <T extends Traversable<?, ?>> T traverse(Function<GraphTraversal<Edge, Edge>, GraphTraversal<?, ?>> traverser); GraphTraversal<? extends Edge, ? extends Edge> getRawTraversal(); } diff --git a/src/main/java/com/syncleus/ferma/VertexFrame.java b/src/main/java/com/syncleus/ferma/VertexFrame.java index 3bf85d51..a556d71a 100644 --- a/src/main/java/com/syncleus/ferma/VertexFrame.java +++ b/src/main/java/com/syncleus/ferma/VertexFrame.java @@ -421,7 +421,7 @@ public interface VertexFrame extends ElementFrame { */ <T> T reframeExplicit(Class<T> kind); - <T extends Traversable<?, ?>> T traverse(Function<GraphTraversal<? extends Vertex, ? extends Vertex>, GraphTraversal<?, ?>> traverser); + <T extends Traversable<?, ?>> T traverse(Function<GraphTraversal<Vertex, Vertex>, GraphTraversal<?, ?>> traverser); GraphTraversal<? extends Vertex, ? extends Vertex> getRawTraversal(); } diff --git a/src/test/java/com/syncleus/ferma/FramedVertexTest.java b/src/test/java/com/syncleus/ferma/FramedVertexTest.java index 76fb8903..ff056a9e 100644 --- a/src/test/java/com/syncleus/ferma/FramedVertexTest.java +++ b/src/test/java/com/syncleus/ferma/FramedVertexTest.java @@ -32,8 +32,7 @@ import com.google.common.collect.Lists; import javax.annotation.Nullable; public class FramedVertexTest { - private static final Function<GraphTraversal<? extends Vertex, ? extends Vertex>, GraphTraversal<?, ?>> - OUT_TRAVERSAL = input -> input.out(); + private static final Function<GraphTraversal<Vertex, Vertex>, GraphTraversal<?, ?>> OUT_TRAVERSAL = input -> input.out(); private FramedGraph fg; private Person p1; -- GitLab