Skip to content
Snippets Groups Projects
Commit e39504af authored by Jeffrey Phillips Freeman's avatar Jeffrey Phillips Freeman :boom:
Browse files

CHECKPOINT: simplified the interface definitions slightly.

parent 3362e583
No related branches found
No related tags found
No related merge requests found
...@@ -25,7 +25,6 @@ import com.syncleus.dann.xml.NamedValueXml; ...@@ -25,7 +25,6 @@ import com.syncleus.dann.xml.NamedValueXml;
import com.syncleus.dann.xml.Namer; import com.syncleus.dann.xml.Namer;
import com.syncleus.dann.xml.XmlSerializable; import com.syncleus.dann.xml.XmlSerializable;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import javax.jnlp.ExtendedService;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.*; import java.util.*;
...@@ -46,9 +45,9 @@ public abstract class AbstractAdjacencyGraph< ...@@ -46,9 +45,9 @@ public abstract class AbstractAdjacencyGraph<
PA, PA,
N extends PA, N extends PA,
E extends Edge<N,? extends Edge.Endpoint<N>>, E extends Edge<N,? extends Edge.Endpoint<N>>,
NEP extends Graph.NodeEndpoint<PA, N, E>, NEP extends Graph.NodeEndpoint<N, E>,
EEP extends Graph.EdgeEndpoint<PA, N, E> EEP extends Graph.EdgeEndpoint<N, E>
> extends AbstractEdge<PA,Graph.Endpoint<PA,N,E,PA>> implements Graph<PA, N, E, NEP, EEP> > extends AbstractEdge<PA,Graph.Endpoint<N,E,PA>> implements Graph<PA, N, E, NEP, EEP>
{ {
private static final Logger LOGGER = Logger.getLogger(AbstractAdjacencyGraph.class); private static final Logger LOGGER = Logger.getLogger(AbstractAdjacencyGraph.class);
// private Set<E> edges; // private Set<E> edges;
...@@ -538,7 +537,7 @@ public abstract class AbstractAdjacencyGraph< ...@@ -538,7 +537,7 @@ public abstract class AbstractAdjacencyGraph<
} }
*/ */
protected abstract Set<Graph.EdgeEndpoint<PA, N, E>> getAdjacentEdgeEndPoint(Graph.NodeEndpoint<PA, N, E> nodeEndPoint); protected abstract Set<Graph.EdgeEndpoint<N, E>> getAdjacentEdgeEndPoint(Graph.NodeEndpoint<N, E> nodeEndPoint);
protected PathFinder<N,E> getPathFinder() protected PathFinder<N,E> getPathFinder()
{ {
...@@ -564,9 +563,9 @@ public abstract class AbstractAdjacencyGraph< ...@@ -564,9 +563,9 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.Endpoint<PA,N,E,PA>> getEndPoints() public Set<Graph.Endpoint<N,E,PA>> getEndPoints()
{ {
final Set<Graph.Endpoint<PA,N,E,PA>> endpoints = new HashSet<Graph.Endpoint<PA,N,E,PA>>(); final Set<Graph.Endpoint<N,E,PA>> endpoints = new HashSet<Graph.Endpoint<N,E,PA>>();
endpoints.addAll(this.getNodeEndpoints()); endpoints.addAll(this.getNodeEndpoints());
endpoints.addAll(this.getEdgeEndpoints()); endpoints.addAll(this.getEdgeEndpoints());
return Collections.unmodifiableSet(endpoints); return Collections.unmodifiableSet(endpoints);
...@@ -604,8 +603,8 @@ public abstract class AbstractAdjacencyGraph< ...@@ -604,8 +603,8 @@ public abstract class AbstractAdjacencyGraph<
final Set<N> sourceNodes = new HashSet<N>(); final Set<N> sourceNodes = new HashSet<N>();
for(NEP destinationEndpoint : this.getNodeEndpoints(node) ) for(NEP destinationEndpoint : this.getNodeEndpoints(node) )
for(Graph.EdgeEndpoint<PA, N, E> sourceEndpoint : destinationEndpoint.getAdjacentEdges()) for(Graph.EdgeEndpoint<N, E> sourceEndpoint : destinationEndpoint.getAdjacentEdges())
for(Graph.NodeEndpoint<PA, N, E> nodeEndpoint : sourceEndpoint.getAdjacentNodes()) for(Graph.NodeEndpoint<N, E> nodeEndpoint : sourceEndpoint.getAdjacentNodes())
sourceNodes.add(nodeEndpoint.getTarget()); sourceNodes.add(nodeEndpoint.getTarget());
return Collections.unmodifiableSet(sourceNodes); return Collections.unmodifiableSet(sourceNodes);
...@@ -617,7 +616,7 @@ public abstract class AbstractAdjacencyGraph< ...@@ -617,7 +616,7 @@ public abstract class AbstractAdjacencyGraph<
final Set<E> sourceEdges = new HashSet<E>(); final Set<E> sourceEdges = new HashSet<E>();
for(NEP destinationEndpoint : this.getNodeEndpoints(node) ) for(NEP destinationEndpoint : this.getNodeEndpoints(node) )
for(Graph.EdgeEndpoint<PA, N, E> sourceEndpoint : destinationEndpoint.getAdjacentEdges()) for(Graph.EdgeEndpoint<N, E> sourceEndpoint : destinationEndpoint.getAdjacentEdges())
sourceEdges.add(sourceEndpoint.getTarget()); sourceEdges.add(sourceEndpoint.getTarget());
return Collections.unmodifiableSet(sourceEdges); return Collections.unmodifiableSet(sourceEdges);
...@@ -790,7 +789,7 @@ public abstract class AbstractAdjacencyGraph< ...@@ -790,7 +789,7 @@ public abstract class AbstractAdjacencyGraph<
final Set<E> destinationEdges = new HashSet<E>(); final Set<E> destinationEdges = new HashSet<E>();
for(NEP sourceEndpoint : this.getNodeEndpoints(source) ) for(NEP sourceEndpoint : this.getNodeEndpoints(source) )
for(Graph.EdgeEndpoint<PA, N, E> destinationEndpoint : sourceEndpoint.getTraversableAdjacentEdgesFrom()) for(Graph.EdgeEndpoint<N, E> destinationEndpoint : sourceEndpoint.getTraversableAdjacentEdgesFrom())
destinationEdges.add(destinationEndpoint.getTarget()); destinationEdges.add(destinationEndpoint.getTarget());
return Collections.unmodifiableSet(destinationEdges); return Collections.unmodifiableSet(destinationEdges);
...@@ -802,7 +801,7 @@ public abstract class AbstractAdjacencyGraph< ...@@ -802,7 +801,7 @@ public abstract class AbstractAdjacencyGraph<
final Set<E> destinationEdges = new HashSet<E>(); final Set<E> destinationEdges = new HashSet<E>();
for(EEP sourceEndpoint : this.getEdgeEndpoints(source) ) for(EEP sourceEndpoint : this.getEdgeEndpoints(source) )
for(Graph.EdgeEndpoint<PA, N, E> destinationEndpoint : sourceEndpoint.getTraversableAdjacentEdgesFrom()) for(Graph.EdgeEndpoint<N, E> destinationEndpoint : sourceEndpoint.getTraversableAdjacentEdgesFrom())
destinationEdges.add(destinationEndpoint.getTarget()); destinationEdges.add(destinationEndpoint.getTarget());
return Collections.unmodifiableSet(destinationEdges); return Collections.unmodifiableSet(destinationEdges);
...@@ -815,7 +814,7 @@ public abstract class AbstractAdjacencyGraph< ...@@ -815,7 +814,7 @@ public abstract class AbstractAdjacencyGraph<
final Set<E> sourceEdges = new HashSet<E>(); final Set<E> sourceEdges = new HashSet<E>();
for(NEP destinationEndpoint : this.getNodeEndpoints(destination) ) for(NEP destinationEndpoint : this.getNodeEndpoints(destination) )
for(Graph.EdgeEndpoint<PA, N, E> sourceEndpoint : destinationEndpoint.getTraversableAdjacentEdgesTo()) for(Graph.EdgeEndpoint<N, E> sourceEndpoint : destinationEndpoint.getTraversableAdjacentEdgesTo())
sourceEdges.add(sourceEndpoint.getTarget()); sourceEdges.add(sourceEndpoint.getTarget());
return Collections.unmodifiableSet(sourceEdges); return Collections.unmodifiableSet(sourceEdges);
...@@ -827,7 +826,7 @@ public abstract class AbstractAdjacencyGraph< ...@@ -827,7 +826,7 @@ public abstract class AbstractAdjacencyGraph<
final Set<E> destinationEdges = new HashSet<E>(); final Set<E> destinationEdges = new HashSet<E>();
for(EEP destinationEndpoint : this.getEdgeEndpoints(destination) ) for(EEP destinationEndpoint : this.getEdgeEndpoints(destination) )
for(Graph.EdgeEndpoint<PA, N, E> sourceEndpoint : destinationEndpoint.getTraversableAdjacentEdgesFrom()) for(Graph.EdgeEndpoint<N, E> sourceEndpoint : destinationEndpoint.getTraversableAdjacentEdgesFrom())
destinationEdges.add(sourceEndpoint.getTarget()); destinationEdges.add(sourceEndpoint.getTarget());
return Collections.unmodifiableSet(destinationEdges); return Collections.unmodifiableSet(destinationEdges);
...@@ -839,8 +838,8 @@ public abstract class AbstractAdjacencyGraph< ...@@ -839,8 +838,8 @@ public abstract class AbstractAdjacencyGraph<
final Set<N> destinationNodes = new HashSet<N>(); final Set<N> destinationNodes = new HashSet<N>();
for(NEP sourceEndpoint : this.getNodeEndpoints(source) ) for(NEP sourceEndpoint : this.getNodeEndpoints(source) )
for(Graph.EdgeEndpoint<PA, N, E> destinationEndpoint : sourceEndpoint.getTraversableAdjacentEdgesTo()) for(Graph.EdgeEndpoint<N, E> destinationEndpoint : sourceEndpoint.getTraversableAdjacentEdgesTo())
for(Graph.NodeEndpoint<PA, N, E> nodeEndpoint : destinationEndpoint.getTraversableAdjacentNodesTo()) for(Graph.NodeEndpoint<N, E> nodeEndpoint : destinationEndpoint.getTraversableAdjacentNodesTo())
destinationNodes.add(nodeEndpoint.getTarget()); destinationNodes.add(nodeEndpoint.getTarget());
return Collections.unmodifiableSet(destinationNodes); return Collections.unmodifiableSet(destinationNodes);
...@@ -852,7 +851,7 @@ public abstract class AbstractAdjacencyGraph< ...@@ -852,7 +851,7 @@ public abstract class AbstractAdjacencyGraph<
final Set<N> destinationNodes = new HashSet<N>(); final Set<N> destinationNodes = new HashSet<N>();
for(EEP sourceEndpoint : this.getEdgeEndpoints(source) ) for(EEP sourceEndpoint : this.getEdgeEndpoints(source) )
for(Graph.NodeEndpoint<PA, N, E> destinationEndpoint : sourceEndpoint.getTraversableAdjacentNodesTo()) for(Graph.NodeEndpoint<N, E> destinationEndpoint : sourceEndpoint.getTraversableAdjacentNodesTo())
destinationNodes.add(destinationEndpoint.getTarget()); destinationNodes.add(destinationEndpoint.getTarget());
return Collections.unmodifiableSet(destinationNodes); return Collections.unmodifiableSet(destinationNodes);
...@@ -864,8 +863,8 @@ public abstract class AbstractAdjacencyGraph< ...@@ -864,8 +863,8 @@ public abstract class AbstractAdjacencyGraph<
final Set<N> sourceNodes = new HashSet<N>(); final Set<N> sourceNodes = new HashSet<N>();
for(NEP destinationEndpoint : this.getNodeEndpoints(destination) ) for(NEP destinationEndpoint : this.getNodeEndpoints(destination) )
for(Graph.EdgeEndpoint<PA, N, E> sourceEndpoint : destinationEndpoint.getTraversableAdjacentEdgesFrom()) for(Graph.EdgeEndpoint<N, E> sourceEndpoint : destinationEndpoint.getTraversableAdjacentEdgesFrom())
for(Graph.NodeEndpoint<PA, N, E> nodeEndpoint : sourceEndpoint.getTraversableAdjacentNodesFrom()) for(Graph.NodeEndpoint<N, E> nodeEndpoint : sourceEndpoint.getTraversableAdjacentNodesFrom())
sourceNodes.add(nodeEndpoint.getTarget()); sourceNodes.add(nodeEndpoint.getTarget());
return Collections.unmodifiableSet(sourceNodes); return Collections.unmodifiableSet(sourceNodes);
...@@ -877,7 +876,7 @@ public abstract class AbstractAdjacencyGraph< ...@@ -877,7 +876,7 @@ public abstract class AbstractAdjacencyGraph<
final Set<N> sourceNodes = new HashSet<N>(); final Set<N> sourceNodes = new HashSet<N>();
for(EEP destinationEndpoint : this.getEdgeEndpoints(destination) ) for(EEP destinationEndpoint : this.getEdgeEndpoints(destination) )
for(Graph.NodeEndpoint<PA, N, E> sourceEndpoint : destinationEndpoint.getTraversableAdjacentNodesFrom()) for(Graph.NodeEndpoint<N, E> sourceEndpoint : destinationEndpoint.getTraversableAdjacentNodesFrom())
sourceNodes.add(sourceEndpoint.getTarget()); sourceNodes.add(sourceEndpoint.getTarget());
return Collections.unmodifiableSet(sourceNodes); return Collections.unmodifiableSet(sourceNodes);
...@@ -986,21 +985,21 @@ public abstract class AbstractAdjacencyGraph< ...@@ -986,21 +985,21 @@ public abstract class AbstractAdjacencyGraph<
} }
} }
*/ */
protected abstract class AbstractNodeEndpoint extends AbstractEdge<N,Graph.Endpoint<PA,N,E,PA>>.AbstractEndpoint implements Graph.NodeEndpoint<PA,N,E> protected abstract class AbstractNodeEndpoint extends AbstractEdge<N,Graph.Endpoint<N,E,PA>>.AbstractEndpoint implements Graph.NodeEndpoint<N,E>
{ {
@Override @Override
public Set<Graph.EdgeEndpoint<PA, N, E>> getAdjacentEdges() public Set<Graph.EdgeEndpoint<N, E>> getAdjacentEdges()
{ {
return getAdjacentEdgeEndPoint(this); return getAdjacentEdgeEndPoint(this);
} }
@Override @Override
public Set<Graph.NodeEndpoint<PA, N, E>> getAdjacentNodes() public Set<Graph.NodeEndpoint<N, E>> getAdjacentNodes()
{ {
final Set<Graph.NodeEndpoint<PA, N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<PA, N, E>>(); final Set<Graph.NodeEndpoint<N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<N, E>>();
for(Graph.EdgeEndpoint<PA, N, E> adjacentEndpoint : this.getAdjacentEdges() ) for(Graph.EdgeEndpoint<N, E> adjacentEndpoint : this.getAdjacentEdges() )
for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) ) for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) )
for( Edge.Endpoint<? extends N> adjacentNodeEndpoint : nodeEndpoint.getNeighbors() ) for( Edge.Endpoint<? extends N> adjacentNodeEndpoint : nodeEndpoint.getNeighbors() )
adjacentNodes.addAll(AbstractAdjacencyGraph.this.getNodeEndpoints(adjacentNodeEndpoint.getTarget())); adjacentNodes.addAll(AbstractAdjacencyGraph.this.getNodeEndpoints(adjacentNodeEndpoint.getTarget()));
...@@ -1009,11 +1008,11 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1009,11 +1008,11 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.NodeEndpoint<PA, N, E>> getTraversableAdjacentNodesTo() public Set<Graph.NodeEndpoint<N, E>> getTraversableAdjacentNodesTo()
{ {
final Set<Graph.NodeEndpoint<PA, N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<PA, N, E>>(); final Set<Graph.NodeEndpoint<N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<N, E>>();
for(Graph.EdgeEndpoint<PA, N, E> adjacentEndpoint : this.getAdjacentEdges() ) for(Graph.EdgeEndpoint<N, E> adjacentEndpoint : this.getAdjacentEdges() )
for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) ) for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) )
for( Edge.Endpoint<? extends N> adjacentNodeEndpoint : nodeEndpoint.getTraversableNeighborsTo() ) for( Edge.Endpoint<? extends N> adjacentNodeEndpoint : nodeEndpoint.getTraversableNeighborsTo() )
adjacentNodes.addAll(AbstractAdjacencyGraph.this.getNodeEndpoints(adjacentNodeEndpoint.getTarget())); adjacentNodes.addAll(AbstractAdjacencyGraph.this.getNodeEndpoints(adjacentNodeEndpoint.getTarget()));
...@@ -1022,11 +1021,11 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1022,11 +1021,11 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.NodeEndpoint<PA, N, E>> getTraversableAdjacentNodesFrom() public Set<Graph.NodeEndpoint<N, E>> getTraversableAdjacentNodesFrom()
{ {
final Set<Graph.NodeEndpoint<PA, N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<PA, N, E>>(); final Set<Graph.NodeEndpoint<N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<N, E>>();
for(Graph.EdgeEndpoint<PA, N, E> adjacentEndpoint : this.getAdjacentEdges() ) for(Graph.EdgeEndpoint<N, E> adjacentEndpoint : this.getAdjacentEdges() )
for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) ) for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) )
for( Edge.Endpoint<? extends N> adjacentNodeEndpoint : nodeEndpoint.getTraversableNeighborsFrom() ) for( Edge.Endpoint<? extends N> adjacentNodeEndpoint : nodeEndpoint.getTraversableNeighborsFrom() )
adjacentNodes.addAll(AbstractAdjacencyGraph.this.getNodeEndpoints(adjacentNodeEndpoint.getTarget())); adjacentNodes.addAll(AbstractAdjacencyGraph.this.getNodeEndpoints(adjacentNodeEndpoint.getTarget()));
...@@ -1035,11 +1034,11 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1035,11 +1034,11 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.EdgeEndpoint<PA, N, E>> getTraversableAdjacentEdgesTo() public Set<Graph.EdgeEndpoint<N, E>> getTraversableAdjacentEdgesTo()
{ {
final Set<Graph.EdgeEndpoint<PA, N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<PA, N, E>>(); final Set<Graph.EdgeEndpoint<N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<N, E>>();
for(Graph.EdgeEndpoint<PA, N, E> adjacentEndpoint : this.getAdjacentEdges() ) for(Graph.EdgeEndpoint<N, E> adjacentEndpoint : this.getAdjacentEdges() )
for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) ) for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) )
if( nodeEndpoint.isTraversable() ) if( nodeEndpoint.isTraversable() )
adjacentEdges.add(adjacentEndpoint); adjacentEdges.add(adjacentEndpoint);
...@@ -1048,11 +1047,11 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1048,11 +1047,11 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.EdgeEndpoint<PA, N, E>> getTraversableAdjacentEdgesFrom() public Set<Graph.EdgeEndpoint<N, E>> getTraversableAdjacentEdgesFrom()
{ {
final Set<Graph.EdgeEndpoint<PA, N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<PA, N, E>>(); final Set<Graph.EdgeEndpoint<N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<N, E>>();
for(Graph.EdgeEndpoint<PA, N, E> adjacentEndpoint : this.getAdjacentEdges() ) for(Graph.EdgeEndpoint<N, E> adjacentEndpoint : this.getAdjacentEdges() )
for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) ) for( Edge.Endpoint<? extends N> nodeEndpoint : adjacentEndpoint.getTarget().getEndPoints(this.getTarget()) )
if( nodeEndpoint.isTraversable() ) if( nodeEndpoint.isTraversable() )
adjacentEdges.add(adjacentEndpoint); adjacentEdges.add(adjacentEndpoint);
...@@ -1061,18 +1060,12 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1061,18 +1060,12 @@ public abstract class AbstractAdjacencyGraph<
} }
}; };
// protected abstract class AbstractNodeEndpoint<MN extends N> extends AbstractEdge<PA,Graph.Endpoint<? extends PA,? extends PA,?>>.AbstractEndpoint<MN> implements Graph.NodeEndpoint<PA,N,MN,E,NEP,EEP> protected abstract class AbstractEdgeEndpoint extends AbstractEdge<E,Graph.Endpoint<N,E,PA>>.AbstractEndpoint implements Graph.EdgeEndpoint<N,E>
// protected abstract class AbstractEdgeEndpoint<ME extends E> extends AbstractEdge<PA,Graph.Endpoint<? extends PA,? extends PA, ?>>.AbstractEndpoint<ME> implements Graph.EdgeEndpoint<N,E,ME>
// protected abstract class AbstractEdgeEndpoint<ME extends E> extends AbstractEdge<E,Graph.Endpoint<? extends PA,? extends PA, ?>>.AbstractEndpoint<E,ME> implements Graph.EdgeEndpoint<PA,N,E,E,NEP,EEP>
// protected abstract class AbstractEdgeEndpoint<ME extends E> extends AbstractEdge<PA,Graph.Endpoint<PA,PA>>.AbstractEndpoint<ME> implements Graph.EdgeEndpoint<PA,N,E,ME>
// protected abstract class AbstractEdgeEndpoint<ME extends E> implements Edge.Endpoint<PA,ME>, Graph.EdgeEndpoint<PA,N,E,ME>
protected abstract class AbstractEdgeEndpoint extends AbstractEdge<E,Graph.Endpoint<PA,N,E,PA>>.AbstractEndpoint implements Graph.EdgeEndpoint<PA,N,E>
{ {
@Override @Override
public Set<Graph.NodeEndpoint<PA, N, E>> getAdjacentNodes() public Set<Graph.NodeEndpoint<N, E>> getAdjacentNodes()
{ {
final Set<Graph.NodeEndpoint<PA, N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<PA, N, E>>(); final Set<Graph.NodeEndpoint<N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<N, E>>();
for(Endpoint<? extends N> adjacentEndpoint : this.getTarget().getEndPoints()) for(Endpoint<? extends N> adjacentEndpoint : this.getTarget().getEndPoints())
adjacentNodes.addAll(AbstractAdjacencyGraph.this.getNodeEndpoints(adjacentEndpoint.getTarget())); adjacentNodes.addAll(AbstractAdjacencyGraph.this.getNodeEndpoints(adjacentEndpoint.getTarget()));
...@@ -1081,9 +1074,9 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1081,9 +1074,9 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.EdgeEndpoint<PA, N, E>> getAdjacentEdges() public Set<Graph.EdgeEndpoint<N, E>> getAdjacentEdges()
{ {
final Set<Graph.EdgeEndpoint<PA, N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<PA, N, E>>(); final Set<Graph.EdgeEndpoint<N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<N, E>>();
for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints()) for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints())
for( NEP neighborNode : AbstractAdjacencyGraph.this.getNodeEndpoints(sourceEndpoint.getTarget()) ) for( NEP neighborNode : AbstractAdjacencyGraph.this.getNodeEndpoints(sourceEndpoint.getTarget()) )
...@@ -1094,14 +1087,14 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1094,14 +1087,14 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.EdgeEndpoint<PA, N, E>> getTraversableAdjacentEdgesTo() public Set<Graph.EdgeEndpoint<N, E>> getTraversableAdjacentEdgesTo()
{ {
final Set<Graph.EdgeEndpoint<PA, N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<PA, N, E>>(); final Set<Graph.EdgeEndpoint<N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<N, E>>();
for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints()) for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints())
if( sourceEndpoint.getTraversableNeighborsFrom().size() > 0 ) if( sourceEndpoint.getTraversableNeighborsFrom().size() > 0 )
for( NEP adjacentNode : AbstractAdjacencyGraph.this.getNodeEndpoints(sourceEndpoint.getTarget())) for( NEP adjacentNode : AbstractAdjacencyGraph.this.getNodeEndpoints(sourceEndpoint.getTarget()))
for( Graph.EdgeEndpoint<PA, N, E> adjacentEdge : AbstractAdjacencyGraph.this.getAdjacentEdgeEndPoint(adjacentNode) ) for( Graph.EdgeEndpoint<N, E> adjacentEdge : AbstractAdjacencyGraph.this.getAdjacentEdgeEndPoint(adjacentNode) )
if( adjacentEdge.getTarget().getTraversableFrom(adjacentNode.getTarget()).size() > 0 ) if( adjacentEdge.getTarget().getTraversableFrom(adjacentNode.getTarget()).size() > 0 )
adjacentEdges.add(adjacentEdge); adjacentEdges.add(adjacentEdge);
...@@ -1109,14 +1102,14 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1109,14 +1102,14 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.EdgeEndpoint<PA, N, E>> getTraversableAdjacentEdgesFrom() public Set<Graph.EdgeEndpoint<N, E>> getTraversableAdjacentEdgesFrom()
{ {
final Set<Graph.EdgeEndpoint<PA, N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<PA, N, E>>(); final Set<Graph.EdgeEndpoint<N, E>> adjacentEdges = new HashSet<Graph.EdgeEndpoint<N, E>>();
for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints()) for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints())
if( sourceEndpoint.getTraversableNeighborsTo().size() > 0 ) if( sourceEndpoint.getTraversableNeighborsTo().size() > 0 )
for( NEP adjacentNode : AbstractAdjacencyGraph.this.getNodeEndpoints(sourceEndpoint.getTarget())) for( NEP adjacentNode : AbstractAdjacencyGraph.this.getNodeEndpoints(sourceEndpoint.getTarget()))
for( Graph.EdgeEndpoint<PA, N, E> adjacentEdge : AbstractAdjacencyGraph.this.getAdjacentEdgeEndPoint(adjacentNode) ) for( Graph.EdgeEndpoint<N, E> adjacentEdge : AbstractAdjacencyGraph.this.getAdjacentEdgeEndPoint(adjacentNode) )
if( adjacentEdge.getTarget().getTraversableTo(adjacentNode.getTarget()).size() > 0 ) if( adjacentEdge.getTarget().getTraversableTo(adjacentNode.getTarget()).size() > 0 )
adjacentEdges.add(adjacentEdge); adjacentEdges.add(adjacentEdge);
...@@ -1124,9 +1117,9 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1124,9 +1117,9 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.NodeEndpoint<PA, N, E>> getTraversableAdjacentNodesTo() public Set<Graph.NodeEndpoint<N, E>> getTraversableAdjacentNodesTo()
{ {
final Set<Graph.NodeEndpoint<PA, N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<PA, N, E>>(); final Set<Graph.NodeEndpoint<N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<N, E>>();
for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints()) for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints())
if( sourceEndpoint.getTraversableNeighborsFrom().size() > 0 ) if( sourceEndpoint.getTraversableNeighborsFrom().size() > 0 )
...@@ -1136,9 +1129,9 @@ public abstract class AbstractAdjacencyGraph< ...@@ -1136,9 +1129,9 @@ public abstract class AbstractAdjacencyGraph<
} }
@Override @Override
public Set<Graph.NodeEndpoint<PA, N, E>> getTraversableAdjacentNodesFrom() public Set<Graph.NodeEndpoint<N, E>> getTraversableAdjacentNodesFrom()
{ {
final Set<Graph.NodeEndpoint<PA, N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<PA, N, E>>(); final Set<Graph.NodeEndpoint<N, E>> adjacentNodes = new HashSet<Graph.NodeEndpoint<N, E>>();
for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints()) for(Endpoint<? extends N> sourceEndpoint : this.getTarget().getEndPoints())
if( sourceEndpoint.getTraversableNeighborsTo().size() > 0 ) if( sourceEndpoint.getTraversableNeighborsTo().size() > 0 )
......
...@@ -18,9 +18,6 @@ ...@@ -18,9 +18,6 @@
******************************************************************************/ ******************************************************************************/
package com.syncleus.dann.graph; package com.syncleus.dann.graph;
import java.util.Set;
import com.syncleus.dann.neural.OutputNeuron;
public interface AssignableGraph<N, E extends Edge<N>> extends Graph<N,E>, MutableEdge<Object> public interface AssignableGraph<N, E extends Edge<N>> extends Graph<N,E>, MutableEdge<Object>
//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 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> //public interface AssignableGraph<P extends AssignableGraph.Foo, N extends P, E extends Edge<N> & AssignableGraph.Foo> extends Graph<N,E>, Edge<P>, MutableEdge<P>
...@@ -41,11 +38,11 @@ public interface AssignableGraph<N, E extends Edge<N>> extends Graph<N,E>, Mutab ...@@ -41,11 +38,11 @@ public interface AssignableGraph<N, E extends Edge<N>> extends Graph<N,E>, Mutab
*/ */
interface NodeEndpoint<ON, MN extends ON, OE extends Edge<? extends ON>> extends Graph.NodeEndpoint<ON,MN,OE>, MutableEdge.Endpoint<Object, MN> interface NodeEndpoint<ON, MN extends ON, OE extends Edge<? extends ON>> extends Graph.NodeEndpoint<MN,OE>, MutableEdge.Endpoint<Object, MN>
{ {
}; };
interface EdgeEndpoint<ON, OE extends Edge<? extends ON>, ME extends OE> extends Graph.EdgeEndpoint<ON, OE, ME>, MutableEdge.Endpoint<Object, ME> interface EdgeEndpoint<ON, OE extends Edge<? extends ON>, ME extends OE> extends Graph.EdgeEndpoint<OE, ME>, MutableEdge.Endpoint<Object, ME>
{ {
}; };
......
...@@ -18,9 +18,7 @@ ...@@ -18,9 +18,7 @@
******************************************************************************/ ******************************************************************************/
package com.syncleus.dann.graph; package com.syncleus.dann.graph;
import javax.management.OperationsException;
import com.syncleus.dann.graph.context.ContextReporter; import com.syncleus.dann.graph.context.ContextReporter;
import com.syncleus.dann.neural.OutputNeuron;
import java.io.Serializable; import java.io.Serializable;
import java.util.Set; import java.util.Set;
...@@ -41,83 +39,40 @@ public interface Graph< ...@@ -41,83 +39,40 @@ public interface Graph<
PA, PA,
N extends PA, N extends PA,
E extends Edge<N,? extends Edge.Endpoint<N>>, E extends Edge<N,? extends Edge.Endpoint<N>>,
NEP extends Graph.NodeEndpoint<PA, N, E>, NEP extends Graph.NodeEndpoint<N, E>,
EEP extends Graph.EdgeEndpoint<PA, N, E> EEP extends Graph.EdgeEndpoint<N, E>
> extends Edge<PA,Graph.Endpoint<PA,N,E,PA>>, Serializable, Cloneable, ContextReporter > extends Edge<PA,Graph.Endpoint<N,E,PA>>, Serializable, Cloneable, ContextReporter
{ {
/*
interface Endpoint< interface Endpoint<
PA ON,
> extends Edge.Endpoint<PA>
{
Set<Graph.Endpoint<PA>> getAdjacent();
Set<Graph.Endpoint<PA>> getTraversableAdjacentTo();
Set<Graph.Endpoint<PA>> getTraversableAdjacentFrom();
};
interface NodeEndpoint<
PA,
ON extends PA,
OE extends Edge<ON,? extends Edge.Endpoint<? extends ON>>
> extends Graph.Endpoint<ON>
{
Set<Graph.NodeEndpoint<PA, ON, OE>> getAdjacentNodes();
Set<Graph.NodeEndpoint<PA, ON, OE>> getTraversableAdjacentNodesTo();
Set<Graph.NodeEndpoint<PA, ON, OE>> getTraversableAdjacentNodesFrom();
Set<Graph.EdgeEndpoint<PA, ON, OE>> getAdjacentEdges();
Set<Graph.EdgeEndpoint<PA, ON, OE>> getTraversableAdjacentEdgesTo();
Set<Graph.EdgeEndpoint<PA, ON, OE>> getTraversableAdjacentEdgesFrom();
};
interface EdgeEndpoint<
PA,
ON extends PA,
OE extends Edge<ON,? extends Edge.Endpoint<? extends ON>>
> extends Graph.Endpoint<OE>
{
Set<Graph.EdgeEndpoint<PA, ON, OE>> getAdjacentEdges();
Set<Graph.EdgeEndpoint<PA, ON, OE>> getTraversableAdjacentEdgesTo();
Set<Graph.EdgeEndpoint<PA, ON, OE>> getTraversableAdjacentEdgesFrom();
Set<Graph.NodeEndpoint<PA, ON, OE>> getAdjacentNodes();
Set<Graph.NodeEndpoint<PA, ON, OE>> getTraversableAdjacentNodesTo();
Set<Graph.NodeEndpoint<PA, ON, OE>> getTraversableAdjacentNodesFrom();
};
*/
interface Endpoint<
PA,
ON extends PA,
OE extends Edge<ON,? extends Edge.Endpoint<? extends ON>>, OE extends Edge<ON,? extends Edge.Endpoint<? extends ON>>,
T T
> extends Edge.Endpoint<T> > extends Edge.Endpoint<T>
{ {
Set<Graph.Endpoint<PA,ON,OE,T>> getAdjacent(); Set<Graph.Endpoint<ON,OE,T>> getAdjacent();
Set<Graph.Endpoint<PA,ON,OE,T>> getTraversableAdjacentTo(); Set<Graph.Endpoint<ON,OE,T>> getTraversableAdjacentTo();
Set<Graph.Endpoint<PA,ON,OE,T>> getTraversableAdjacentFrom(); Set<Graph.Endpoint<ON,OE,T>> getTraversableAdjacentFrom();
Set<Graph.NodeEndpoint<PA, ON, OE>> getAdjacentNodes(); Set<Graph.NodeEndpoint<ON, OE>> getAdjacentNodes();
Set<Graph.NodeEndpoint<PA, ON, OE>> getTraversableAdjacentNodesTo(); Set<Graph.NodeEndpoint<ON, OE>> getTraversableAdjacentNodesTo();
Set<Graph.NodeEndpoint<PA, ON, OE>> getTraversableAdjacentNodesFrom(); Set<Graph.NodeEndpoint<ON, OE>> getTraversableAdjacentNodesFrom();
Set<Graph.EdgeEndpoint<PA, ON, OE>> getAdjacentEdges(); Set<Graph.EdgeEndpoint<ON, OE>> getAdjacentEdges();
Set<Graph.EdgeEndpoint<PA, ON, OE>> getTraversableAdjacentEdgesTo(); Set<Graph.EdgeEndpoint<ON, OE>> getTraversableAdjacentEdgesTo();
Set<Graph.EdgeEndpoint<PA, ON, OE>> getTraversableAdjacentEdgesFrom(); Set<Graph.EdgeEndpoint<ON, OE>> getTraversableAdjacentEdgesFrom();
}; };
interface NodeEndpoint< interface NodeEndpoint<
PA, ON,
ON extends PA, OE extends Edge<ON,? extends Edge.Endpoint<? extends ON>>
OE extends Edge<ON,? extends Edge.Endpoint<? extends ON>> > extends Graph.Endpoint<ON,OE,ON>
> extends Graph.Endpoint<PA,ON,OE,ON>
{ {
}; };
interface EdgeEndpoint< interface EdgeEndpoint<
PA, ON,
ON extends PA, OE extends Edge<ON,? extends Edge.Endpoint<? extends ON>>
OE extends Edge<ON,? extends Edge.Endpoint<? extends ON>> > extends Graph.Endpoint<ON,OE,OE>
> extends Graph.Endpoint<PA,ON,OE,OE>
{ {
}; };
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
package com.syncleus.dann.graph; package com.syncleus.dann.graph;
import java.util.*; import java.util.*;
import com.syncleus.dann.graph.context.ContextGraphElement;
public class MutableAdjacencyGraph<N, E extends Edge<N>> extends AbstractAdjacencyGraph<N, E> implements MutableGraph<N, E> public class MutableAdjacencyGraph<N, E extends Edge<N>> extends AbstractAdjacencyGraph<N, E> implements MutableGraph<N, E>
{ {
...@@ -77,22 +76,22 @@ public class MutableAdjacencyGraph<N, E extends Edge<N>> extends AbstractAdjacen ...@@ -77,22 +76,22 @@ public class MutableAdjacencyGraph<N, E extends Edge<N>> extends AbstractAdjacen
return (MutableAdjacencyGraph<N, E>) super.clone(); return (MutableAdjacencyGraph<N, E>) super.clone();
} }
*/ */
final private Map<NodeEndpoint<N,N,E>,EdgeEndpoint<N, E, ? extends E>> nodeAdjacency = new HashMap<NodeEndpoint<N, N, E>, EdgeEndpoint<N, E, ? extends E>>(); final private Map<NodeEndpoint<N,E>,EdgeEndpoint<E, ? extends E>> nodeAdjacency = new HashMap<NodeEndpoint<N, E>, EdgeEndpoint<E, ? extends E>>();
@Override @Override
protected Set<EdgeEndpoint<N, E, ? extends E>> getAdjacentEdgeEndPoint(Graph.NodeEndpoint<N, ? extends N, E> nodeEndPoint) protected Set<EdgeEndpoint<E, ? extends E>> getAdjacentEdgeEndPoint(Graph.NodeEndpoint<? extends N, E> nodeEndPoint)
{ {
return null; //To change body of implemented methods use File | Settings | File Templates. return null; //To change body of implemented methods use File | Settings | File Templates.
} }
@Override @Override
public Set<? extends EdgeEndpoint<N, E, ? extends E>> getEdgeEndpoints() public Set<? extends EdgeEndpoint<E, ? extends E>> getEdgeEndpoints()
{ {
return null; //To change body of implemented methods use File | Settings | File Templates. return null; //To change body of implemented methods use File | Settings | File Templates.
} }
@Override @Override
public Set<? extends NodeEndpoint<N, ? extends N, E>> getNodeEndpoints() public Set<? extends NodeEndpoint<? extends N, E>> getNodeEndpoints()
{ {
return null; //To change body of implemented methods use File | Settings | File Templates. return null; //To change body of implemented methods use File | Settings | File Templates.
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment