package edu.neu.ccs.demeter.aplib; import java.util.Collection; /** A directed graph whose nodes are unique Objects and whose edges are unlabeled but ordered. */ public interface StrategyGraphI { /** A Collection of nodes in the strategy graph. */ Collection getNodes(); /** A Collection of indices (Integer objects) of edges going out of node v. Return an empty list if there are no outgoing edges, null if there is no such node. */ Collection getOutgoingEdges(Object v); /** A Collection of indices (Integer objects) of edges coming into node v. Return an empty list if there are no incoming edges, null if there is no such node. */ Collection getIncomingEdges(Object v); /** The number of edges in the strategy graph. */ int numEdges(); /** The source node of edge number i. */ Object getEdgeSource(int i); /** The target node of edge number i. */ Object getEdgeTarget(int i); }