blob: dc0ab8d984db438e51675975898adc4da6e73c6a [file] [log] [blame]
/*******************************************************************************
* 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);
}