blob: 4d5ee11744ca4cd69f7890db729b87e7aa3e828f [file] [log] [blame]
/*******************************************************************************
* Copyright 2005, CHISEL Group, University of Victoria, Victoria, BC, Canada.
* All rights reserved. This program and the accompanying materials are made
* available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: The Chisel Group, University of Victoria
*******************************************************************************/
package org.eclipse.zest.layouts;
import java.util.List;
/**
* The LayoutGraph interface defines the methods used to add nodes and edges (relationships).
* @author Chris
*/
public interface LayoutGraph {
/**
* Adds a node to this graph.
* @param node The new node.
* @return LayoutEntity The created node
*/
public void addEntity(LayoutEntity node);
/**
* Adds the given relationship.
* @param relationship
*/
public void addRelationship(LayoutRelationship relationship);
/**
* Returns a list of LayoutEntity objects that represent the objects added to this graph using addNode.
* @return List A List of LayoutEntity objects.
*/
public List getEntities();
/**
* Returns a list of LayoutRelationship objects that represent the objects added to this graph using addRelationship.
* @return List A List of LayoutRelationship objects.
*/
public List getRelationships();
/**
* Determines if the graph is bidirectional.
* @return boolean If the graph is bidirectional.
*/
public boolean isBidirectional();
}