Author: simonetripodi
Date: Sat Jun 11 22:48:14 2011
New Revision: 1134808
URL: http://svn.apache.org/viewvc?rev=1134808&view=rev
Log:
generified Vertex/Edge in Contract interface
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/contract/Contract.java
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/domain/basic/DirectedGraphImpl.java
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/contract/Contract.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/contract/Contract.java?rev=1134808&r1=1134807&r2=1134808&view=diff
==============================================================================
---
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/contract/Contract.java
(original)
+++
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/contract/Contract.java
Sat Jun 11 22:48:14 2011
@@ -26,8 +26,11 @@ import org.apache.commons.graph.Vertex;
/**
* Description of the Interface
+ *
+ * @param <V> the Graph vertices type
+ * @param <E> the Graph edges type
*/
-public interface Contract
+public interface Contract<V extends Vertex, E extends Edge>
{
/**
@@ -35,7 +38,7 @@ public interface Contract
* the graph you should work off of. If an edge or vertex addition is
* illegal to the contract, raise a GraphException with and explanation.
*/
- void setImpl( DirectedGraph impl );
+ void setImpl( DirectedGraph<V, E> impl );
/**
* getInterface This returns the marker interface which is associated with
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/domain/basic/DirectedGraphImpl.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/domain/basic/DirectedGraphImpl.java?rev=1134808&r1=1134807&r2=1134808&view=diff
==============================================================================
---
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/domain/basic/DirectedGraphImpl.java
(original)
+++
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/domain/basic/DirectedGraphImpl.java
Sat Jun 11 22:48:14 2011
@@ -54,7 +54,7 @@ public class DirectedGraphImpl<V extends
private final Set<WE> edges = new HashSet<WE>();
- private final List<Contract> contracts = new ArrayList<Contract>();
+ private final List<Contract<V, WE>> contracts = new ArrayList<Contract<V,
WE>>();
private final Map<V, Set<WE>> inbound = new HashMap<V, Set<WE>>(); //
VERTEX X SET( EDGE )
@@ -108,7 +108,7 @@ public class DirectedGraphImpl<V extends
* @param c
* @throws GraphException
*/
- public void addContract( Contract c )
+ public void addContract( Contract<V, WE> c )
throws GraphException
{
c.setImpl( this );
@@ -121,7 +121,7 @@ public class DirectedGraphImpl<V extends
*
* @param c
*/
- public void removeContract( Contract c )
+ public void removeContract( Contract<V, WE> c )
{
contracts.remove( c );
}
@@ -257,7 +257,7 @@ public class DirectedGraphImpl<V extends
public void addVertex( V v )
throws GraphException
{
- Iterator<Contract> conts = contracts.iterator();
+ Iterator<Contract<V, WE>> conts = contracts.iterator();
while ( conts.hasNext() )
{
conts.next().addVertex( v );
@@ -290,7 +290,7 @@ public class DirectedGraphImpl<V extends
public void removeVertex( Vertex v )
throws GraphException
{
- Iterator<Contract> conts = contracts.iterator();
+ Iterator<Contract<V, WE>> conts = contracts.iterator();
while ( conts.hasNext() )
{
conts.next().removeVertex( v );
@@ -348,10 +348,10 @@ public class DirectedGraphImpl<V extends
public void addEdge( WE e, V start, V end )
throws GraphException
{
- Iterator<Contract> conts = contracts.iterator();
+ Iterator<Contract<V, WE>> conts = contracts.iterator();
while ( conts.hasNext() )
{
- Contract cont = conts.next();
+ Contract<V, WE> cont = conts.next();
cont.addEdge( e, start, end );
}
@@ -399,7 +399,7 @@ public class DirectedGraphImpl<V extends
public void removeEdge( WE e )
throws GraphException
{
- Iterator<Contract> conts = contracts.iterator();
+ Iterator<Contract<V, WE>> conts = contracts.iterator();
while ( conts.hasNext() )
{
conts.next().removeEdge( e );