diff --git a/src/main/java/com/syncleus/dann/graph/AbstractAdjacencyGraph.java b/src/main/java/com/syncleus/dann/graph/AbstractAdjacencyGraph.java
index fb0958111da7417f7cfd9d15bbfcabf39985ab3a..504fa486031f13d5aa3a974ae923e4306acadbe9 100644
--- a/src/main/java/com/syncleus/dann/graph/AbstractAdjacencyGraph.java
+++ b/src/main/java/com/syncleus/dann/graph/AbstractAdjacencyGraph.java
@@ -36,10 +36,10 @@ import java.util.*;
@XmlJavaTypeAdapter( com.syncleus.dann.xml.XmlSerializableAdapter.class )
public abstract class AbstractAdjacencyGraph<
N,
- E extends Edge<? extends N,? extends Edge.Endpoint<? extends N>>,
+ E extends Edge<N,? extends Edge.Endpoint<N>>,
NEP extends Graph.NodeEndpoint<N, E>,
EEP extends Graph.EdgeEndpoint<N, E>
- > extends AbstractEdge<Object,Graph.Endpoint<? extends N,? extends E,?>> implements Graph<N, E, NEP, EEP>
+ > extends AbstractEdge<Object,Graph.Endpoint<N,E,?>> implements Graph<N, E, NEP, EEP>
{
private static final Logger LOGGER = Logger.getLogger(AbstractAdjacencyGraph.class);
// private Set<E> edges;
@@ -606,12 +606,12 @@ public abstract class AbstractAdjacencyGraph<
}
@Override
- public Set<Graph.Endpoint<? extends N, ? extends E, ?>> getEndpoints()
+ public Set<Graph.Endpoint<N, E, ?>> getEndpoints()
{
- final Set<Graph.Endpoint<? extends N,? extends E,?>> endpoints = new HashSet<Graph.Endpoint<? extends N,? extends E,?>>();
+ final Set<Graph.Endpoint<N,E,?>> endpoints = new HashSet<Graph.Endpoint<N,E,?>>();
endpoints.addAll(this.getNodeEndpoints());
endpoints.addAll(this.getEdgeEndpoints());
- return Collections.unmodifiableSet(endpoints);
+ return Collections.<Graph.Endpoint<N, E, ?>>unmodifiableSet(endpoints);
}
@Override
@@ -1052,7 +1052,7 @@ public abstract class AbstractAdjacencyGraph<
}
};
- protected abstract class AbstractEdgeEndpoint extends AbstractEdge<E,Graph.Endpoint<N,E,? extends E>>.AbstractEndpoint implements Graph.EdgeEndpoint<N,E>
+ protected abstract class AbstractEdgeEndpoint extends AbstractEdge<E,Graph.Endpoint<N,E,E>>.AbstractEndpoint implements Graph.EdgeEndpoint<N,E>
{
@Override
public Set<Graph.NodeEndpoint<N, E>> getAdjacentNodes()
diff --git a/src/main/java/com/syncleus/dann/graph/AssignableGraph.java b/src/main/java/com/syncleus/dann/graph/AssignableGraph.java
index cfdc242325e92d21fe4a6816f8b8ee9ce331689d..034a0c2a9834efa1907a891dcae3db787d553708 100644
--- a/src/main/java/com/syncleus/dann/graph/AssignableGraph.java
+++ b/src/main/java/com/syncleus/dann/graph/AssignableGraph.java
@@ -20,10 +20,10 @@ package com.syncleus.dann.graph;
public interface AssignableGraph<
N,
- E extends Edge<? extends N,? extends Edge.Endpoint<? extends N>>,
- NEP extends AssignableGraph.NodeEndpoint<? extends N, ? extends E>,
- EEP extends AssignableGraph.EdgeEndpoint<? extends N, ? extends E>
- > extends Graph<N,E,NEP,EEP>, MutableEdge<Object,Graph.Endpoint<? extends N,? extends E,?>>
+ E extends Edge<N,? extends Edge.Endpoint<N>>,
+ NEP extends AssignableGraph.NodeEndpoint<N, E>,
+ EEP extends AssignableGraph.EdgeEndpoint<N, E>
+ > extends Graph<N,E,NEP,EEP>, MutableEdge<Object,Graph.Endpoint<N,E,?>>
//public interface AssignableGraph<P extends Edge<N>, N extends P, E extends P> extends Graph<N,E>, Edge<P>, MutableEdge<P>
//public interface AssignableGraph<P extends AssignableGraph.Foo, N extends P, E extends Edge<N> & AssignableGraph.Foo> extends Graph<N,E>, Edge<P>, MutableEdge<P>
{
@@ -45,7 +45,7 @@ public interface AssignableGraph<
interface NodeEndpoint<
ON,
- OE extends Edge<? extends ON,? extends Edge.Endpoint<? extends ON>>
+ OE extends Edge<ON,? extends Edge.Endpoint<ON>>
> extends Graph.NodeEndpoint<ON,OE>, MutableEdge.Endpoint<ON>
{
void setTarget(ON newTarget) throws InvalidGraphException;
@@ -53,7 +53,7 @@ public interface AssignableGraph<
interface EdgeEndpoint<
ON,
- OE extends Edge<? extends ON,? extends Edge.Endpoint<? extends ON>>
+ OE extends Edge<ON,? extends Edge.Endpoint<ON>>
> extends Graph.EdgeEndpoint<ON,OE>, MutableEdge.Endpoint<OE>
{
void setTarget(OE newTarget) throws InvalidGraphException;
diff --git a/src/main/java/com/syncleus/dann/graph/Edge.java b/src/main/java/com/syncleus/dann/graph/Edge.java
index ac8081546e24a8f1fd74d5286a04631681d2c90f..d14109e634675a11570d6de5bae40fa2ea2b2013 100644
--- a/src/main/java/com/syncleus/dann/graph/Edge.java
+++ b/src/main/java/com/syncleus/dann/graph/Edge.java
@@ -30,9 +30,7 @@ public interface Edge<
EP extends Edge.Endpoint<? extends T>
> extends Serializable, Cloneable, XmlSerializable<EdgeXml, Object>, ContextReporter
{
- interface Endpoint<
- T
- >
+ interface Endpoint<T>
{
Set<Edge.Endpoint<T>> getNeighbors();
Set<Edge.Endpoint<T>> getTraversableNeighborsTo();
diff --git a/src/main/java/com/syncleus/dann/graph/Graph.java b/src/main/java/com/syncleus/dann/graph/Graph.java
index c06d5843a7915b15e32a8b3daf5a78aa2b0bebce..6edcfdd4a28a63e354d95aaaa9011dd73632cb8b 100644
--- a/src/main/java/com/syncleus/dann/graph/Graph.java
+++ b/src/main/java/com/syncleus/dann/graph/Graph.java
@@ -37,14 +37,14 @@ import java.util.Set;
*/
public interface Graph<
N,
- E extends Edge<? extends N,? extends Edge.Endpoint<? extends N>>,
- NEP extends Graph.NodeEndpoint<? extends N, ? extends E>,
- EEP extends Graph.EdgeEndpoint<? extends N, ? extends E>
- > extends Edge<Object,Graph.Endpoint<? extends N,? extends E,?>>, Serializable, Cloneable, ContextReporter
+ E extends Edge<N,? extends Edge.Endpoint<N>>,
+ NEP extends Graph.NodeEndpoint<N, E>,
+ EEP extends Graph.EdgeEndpoint<N, E>
+ > extends Edge<Object,Graph.Endpoint<N,E,?>>, Serializable, Cloneable, ContextReporter
{
interface Endpoint<
ON,
- OE extends Edge<? extends ON,? extends Edge.Endpoint<? extends ON>>,
+ OE extends Edge<ON,? extends Edge.Endpoint<ON>>,
T
> extends Edge.Endpoint<T>
{
@@ -63,14 +63,14 @@ public interface Graph<
interface NodeEndpoint<
ON,
- OE extends Edge<? extends ON,? extends Edge.Endpoint<? extends ON>>
+ OE extends Edge<ON,? extends Edge.Endpoint<ON>>
> extends Graph.Endpoint<ON,OE,ON>
{
};
interface EdgeEndpoint<
ON,
- OE extends Edge<? extends ON,? extends Edge.Endpoint<? extends ON>>
+ OE extends Edge<ON,? extends Edge.Endpoint<ON>>
> extends Graph.Endpoint<ON,OE,OE>
{
};
diff --git a/src/main/java/com/syncleus/dann/graph/MutableGraph.java b/src/main/java/com/syncleus/dann/graph/MutableGraph.java
index 7ba0b7a7120f40dd7038a7da4137bea998e35188..a6ae780780fb646e255f3c9bedcb9c602765e77e 100644
--- a/src/main/java/com/syncleus/dann/graph/MutableGraph.java
+++ b/src/main/java/com/syncleus/dann/graph/MutableGraph.java
@@ -23,9 +23,9 @@ import java.util.Set;
public interface MutableGraph<
N,
- E extends Edge<? extends N,? extends Edge.Endpoint<? extends N>>,
- NEP extends MutableGraph.NodeEndpoint<? extends N, ? extends E>,
- EEP extends MutableGraph.EdgeEndpoint<? extends N, ? extends E>
+ E extends Edge<N,? extends Edge.Endpoint<N>>,
+ NEP extends MutableGraph.NodeEndpoint<N, E>,
+ EEP extends MutableGraph.EdgeEndpoint<N, E>
> extends AssignableGraph<N,E,NEP,EEP>
{
interface NodeEndpoint<