package gov.nasa.jpl.mbee.mdk.generator.graphs;
import java.util.Set;
public interface Graph<VertexType, EdgeType extends Edge<VertexType>> {
Set<VertexType> getVertices();
Set<EdgeType> getEdges();
void clear();
boolean addVertex(VertexType vertex);
boolean addVertices(Set<VertexType> vertices);
boolean removeVertex(VertexType vertex);
boolean removeVertices(Set<VertexType> vertices);
boolean addEdge(EdgeType edge);
boolean addEdges(Set<EdgeType> edges);
boolean removeEdge(EdgeType edge);
boolean removeEdges(Set<EdgeType> edges);
Set<EdgeType> findEdgesOf(VertexType vertex);
Set<EdgeType> findEdgesOf(Set<VertexType> vertices);
Set<VertexType> findNeighborsOf(VertexType vertex);
Set<VertexType> findChildrenOf(VertexType vertex);
}