package org.jbpm.gd.common.notation; import java.util.ArrayList; import java.util.List; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Rectangle; public class Node extends AbstractNotationElement { private NodeContainer container; private Rectangle constraint = new Rectangle(new Point(0, 0), new Dimension(132, 36)); private List leavingEdges = new ArrayList(); private List arrivingEdges = new ArrayList(); public void setConstraint(Rectangle newConstraint) { Rectangle oldConstraint = constraint; constraint = newConstraint; firePropertyChange("constraint", oldConstraint, newConstraint); } public Rectangle getConstraint() { return constraint; } public void addLeavingEdge(Edge edge) { leavingEdges.add(edge); edge.setSource(this); firePropertyChange("leavingEdgeAdd", null, edge); } public void removeLeavingEdge(Edge edge) { leavingEdges.remove(edge); edge.setSource(null); firePropertyChange("leavingEdgeRemove", null, edge); } public List getLeavingEdges() { return leavingEdges; } public void addArrivingEdge(Edge edge) { arrivingEdges.add(edge); edge.setTarget(this); firePropertyChange("arrivingEdgeAdd", null, edge); } public void removeArrivingEdge(Edge edge) { arrivingEdges.remove(edge); edge.setTarget(null); firePropertyChange("arrivingEdgeRemove", null, edge); } public List getArrivingEdges() { return arrivingEdges; } public void setContainer(NodeContainer notationElement) { this.container = notationElement; } public NodeContainer getContainer() { return container; } }