All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ca.uvic.cs.chisel.cajun.graph.GraphModel Maven / Gradle / Ivy

Go to download

Visualization library used by the OntoGraf plug-in for the Protege ontology editing environment.

The newest version!
package ca.uvic.cs.chisel.cajun.graph;

import java.util.Collection;

import ca.uvic.cs.chisel.cajun.graph.arc.GraphArc;
import ca.uvic.cs.chisel.cajun.graph.node.GraphNode;

public interface GraphModel {
	
	/**
	 * Removes all nodes and arcs from the model.
	 * The listeners aren't removed.
	 * Also fires an event.
	 */
	public void clear();
	
	public Collection getAllNodes();
	public Collection getVisibleNodes();
	public GraphNode getNode(Object userObject);
	public boolean containsNode(GraphNode node);
	public Collection getConnectedNodes(Object nodeUserObject);
	public Collection getArcs(Object nodeUserObject);
	public Collection getNodeTypes();
	
	public Collection getAllArcs();
	public Collection getVisibleArcs();
	public GraphArc getArc(Object userObject);
	public boolean containsArc(GraphArc arc);
	public GraphNode getSourceNode(Object arcUserObject);
	public GraphNode getDestinationNode(Object arcUserObject);
	public Collection getArcTypes();
	
	public void addGraphModelListener(GraphModelListener listener);
	public void removeGraphModelListener(GraphModelListener listener);
	
}