/******************************************************************************* * 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(); }