Interface ILineDiffer


  • public interface ILineDiffer
    Protocol that allows direct access to line information. Usually, implementations will also implement IAnnotationModel, which only allows Iterator based access to annotations.

    ILineDiffer also allows to revert any lines to their original contents as defined by the quick diff reference used by the receiver.

    This interface may be implemented by clients.

    In order to provide backward compatibility for clients of ILineDiffer, extension interfaces are used to provide a means of evolution. The following extension interface exists:

    • ILineDifferExtension (since version 3.1): introducing the concept suspending and resuming an ILineDiffer.
    • ILineDifferExtension2 (since version 3.3): allowing to query the suspension state of an ILineDiffer.
    Since:
    3.0
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      ILineDiffInfo getLineInfo​(int line)
      Determines the line state for line line in the targeted document.
      int restoreAfterLine​(int line)
      Restores the deleted lines after line.
      void revertBlock​(int line)
      Reverts a block of modified / added lines to their original state, including any deleted lines inside the block or at its borders.
      void revertLine​(int line)
      Reverts a single changed line to its original state, not touching any lines that are deleted at its borders.
      void revertSelection​(int line, int nLines)
      Reverts a range of lines to their original state, including any deleted lines inside the block or at its borders.
    • Method Detail

      • getLineInfo

        ILineDiffInfo getLineInfo​(int line)
        Determines the line state for line line in the targeted document.
        Parameters:
        line - the line to get diff information for
        Returns:
        the line information object for line or null if none
      • revertLine

        void revertLine​(int line)
                 throws BadLocationException
        Reverts a single changed line to its original state, not touching any lines that are deleted at its borders.
        Parameters:
        line - the line number of the line to be restored.
        Throws:
        BadLocationException - if line is out of bounds.
      • revertBlock

        void revertBlock​(int line)
                  throws BadLocationException
        Reverts a block of modified / added lines to their original state, including any deleted lines inside the block or at its borders. A block is considered to be a range of modified (e.g. changed, or added) lines.
        Parameters:
        line - any line in the block to be reverted.
        Throws:
        BadLocationException - if line is out of bounds.
      • revertSelection

        void revertSelection​(int line,
                             int nLines)
                      throws BadLocationException
        Reverts a range of lines to their original state, including any deleted lines inside the block or at its borders.
        Parameters:
        line - any line in the block to be reverted.
        nLines - the number of lines to be reverted, must be > 0.
        Throws:
        BadLocationException - if line is out of bounds.
      • restoreAfterLine

        int restoreAfterLine​(int line)
                      throws BadLocationException
        Restores the deleted lines after line.
        Parameters:
        line - the deleted lines following this line number are restored.
        Returns:
        the number of restored lines.
        Throws:
        BadLocationException - if line is out of bounds.