Class SetEndPointCommand

All Implemented Interfaces:
Command
Direct Known Subclasses:
SetSourceCommand, SetTargetCommand

public abstract class SetEndPointCommand
extends AbstractTransaction
Transaction for setting the end point on the edge
  • Field Details

    • edge

      protected Edge edge
      The edge on which we set the end point.
    • location

      protected AbstractLocation location
      The original endpoint (or the new endpoint in case the command is undone.
    • nail

      protected Nail nail
      Any nails created as a side effect of changing the endpoint.
  • Constructor Details

  • Method Details

    • getLocation

      public abstract AbstractLocation getLocation()
      Returns the current end point.
      Returns:
      The abstract location
    • setLocation

      protected abstract void setLocation​(AbstractLocation location)
      Sets the current end point on the edge.
      Parameters:
      location - - The set location
    • insertNail

      protected abstract void insertNail​(Nail nail)
      Inserts a nail next to the end point.
      Parameters:
      nail - - The nail object
    • convertToNail

      public Nail convertToNail​(int x, int y)
      Inserts a new nail next to the endpoint and the given position.
      Parameters:
      x - - The x value
      y - - The y value
      Returns:
      The convert nail object
    • moveNailTo

      public void moveNailTo​(int x, int y)
      Move nail created with convertToNail() to a new position.
      Parameters:
      x - - The x value
      y - - The y value
    • setEndPoint

      public void setEndPoint​(AbstractLocation location)
      Set the endpoint to the given location. Any nail created with convertToNail() is removed.
      Parameters:
      location - - The abstract location
    • doCancel

      protected void doCancel()
      Specified by:
      doCancel in class AbstractTransaction
    • doExecute

      protected void doExecute()
      Specified by:
      doExecute in class AbstractTransaction
    • doUndo

      protected void doUndo()
      Specified by:
      doUndo in class AbstractTransaction
    • swap

      protected void swap()
    • getModifiedElement

      public Element getModifiedElement()
      Returns:
      the modified element or its closest relative (sibling or parent) if the element is not displayed.