Class SetEndPointCommand

    • Field Detail

      • 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 Detail

      • SetEndPointCommand

        public SetEndPointCommand​(CommandManager commandManager,
                                  Edge edge)
        Constructor
        Parameters:
        commandManager - - The command manager
        edge - - The edge
    • Method Detail

      • 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
      • 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.