| /******************************************************************************* |
| * 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.core.viewers; |
| |
| import org.eclipse.jface.viewers.IStructuredContentProvider; |
| |
| /** |
| * A graph content provider. |
| * |
| * @author Ian Bull |
| */ |
| public interface IGraphContentProvider extends IStructuredContentProvider { |
| |
| /** |
| * Gets the source Object for the given relationship. Note, at least one of the source |
| * or destination must not be null. If both are null, then nothing can be displayed in |
| * the graph (a relationship cannot exist without nodes to be connected to). However, |
| * if one of getSource() or getDestination() returns null, then the resulting graph will |
| * contain an unconnected node for the non-null object returned from the other method. |
| * @param rel the relationship. |
| * @return the source, or null for an unconnected destination. |
| */ |
| public Object getSource(Object rel); |
| |
| /** |
| * Gets the target Object for the given relationship. Note, at least one of the source |
| * or destination must not be null. If both are null, then nothing can be displayed in |
| * the graph (a relationship cannot exist without nodes to be connected to). However, |
| * if one of getSource() or getDestination() returns null, then the resulting graph will |
| * contain an unconnected node for the non-null object returned from the other method. |
| * @param rel the relationship. |
| * @return the destination, or null for an unconnected source. |
| */ |
| public Object getDestination(Object rel); |
| |
| /** |
| * Returns all the relationships in the graph for the given input. |
| * @input the input model object. |
| * @return all the relationships in the graph for the given input. |
| */ |
| public Object[] getElements(Object input); |
| |
| } |