package edu.brown.graphs; import java.util.List; import org.voltdb.catalog.CatalogType; import edu.brown.utils.JSONSerializable; import edu.uci.ics.jung.graph.Graph; /** * * @author pavlo * */ public interface IGraph<V extends AbstractVertex, E extends AbstractEdge> extends Graph<V, E>, Cloneable, JSONSerializable { public int getGraphId(); public V getVertex(CatalogType catalog_item); public V getVertex(String catalog_key); public V getVertex(Long element_id); public void pruneIsolatedVertices(); public String getName(); public void setName(String name); public List<E> getPath(V source, V target); public List<E> getPath(List<V> path); /** * Enable the checks on whether the graph is dirty */ public void enableDirtyChecks(); /** * Enable verbose output for all elements of this graph * @param verbose */ public void setVerbose(boolean verbose); public void setEdgeVerbose(boolean verbose); public void setVertexVerbose(boolean verbose); public String toString(E e, boolean verbose); public String debug(); }