/******************************************************************************* * Copyright (c) 2000, 2010 IBM Corporation and others. * 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.draw2d; import org.eclipse.draw2d.geometry.PointList; /** * A Connection is a figure that connects two objects. */ public interface Connection extends IFigure { /** * The connection router property. Used to signify that the ConnectionRouter * has changed. */ String PROPERTY_CONNECTION_ROUTER = "connectionRouter"; //$NON-NLS-1$ /** * The points property. Used to signify the points in the Connection have * changed. */ String PROPERTY_POINTS = "points"; //$NON-NLS-1$ /** * Returns the ConnectionRouter used to route this Connection. Does not * return null. * * @return The ConnectionRouter for this Connection */ ConnectionRouter getConnectionRouter(); /** * Sets the ConnectionRouter for this Connection. * * @param router * The ConnectionRouter to set for this Connection */ void setConnectionRouter(ConnectionRouter router); /** * Returns the ConnectionAnchor at the <b>source</b> end of this Connection. * * @return The ConnectionAnchor at the <b>source</b> end of this Connection */ ConnectionAnchor getSourceAnchor(); /** * Returns the ConnectionAnchor at the <b>target</b> end of this Connection. * * @return The ConnectionAnchor at the <b>target</b> end of this Connection */ ConnectionAnchor getTargetAnchor(); /** * Returns the routing constraint. May be <code>null</code>. * * @return The routing constraint */ Object getRoutingConstraint(); /** * Sets the routing constraint used by the router. * * @param cons * The routing constraint */ void setRoutingConstraint(Object cons); /** * Sets the ConnectionAnchor to be used at the <i>source</i> end of this * Connection. * * @param anchor * The source anchor */ void setSourceAnchor(ConnectionAnchor anchor); /** * Sets the ConnectionAnchor to be used at the <i>target</i> end of this * Connection. * * @param anchor * The target anchor */ void setTargetAnchor(ConnectionAnchor anchor); /** * Returns the PointList containing the Points that make up this Connection. * This may be returned by reference. * * @return The points for this Connection */ PointList getPoints(); /** * Sets the PointList containing the Points that make up this Connection. * * @param list * The points for this Connection */ void setPoints(PointList list); }