Package org.eclipse.jface.text.source
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 anILineDiffer
.ILineDifferExtension2
(since version 3.3): allowing to query the suspension state of anILineDiffer
.
- Since:
- 3.0
-
Method Summary
Modifier and TypeMethodDescriptiongetLineInfo
(int line) Determines the line state for lineline
in the targeted document.int
restoreAfterLine
(int line) Restores the deleted lines afterline
.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 Details
-
getLineInfo
Determines the line state for lineline
in the targeted document.- Parameters:
line
- the line to get diff information for- Returns:
- the line information object for
line
ornull
if none
-
revertLine
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
- ifline
is out of bounds.
-
revertBlock
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
- ifline
is out of bounds.
-
revertSelection
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
- ifline
is out of bounds.
-
restoreAfterLine
Restores the deleted lines afterline
.- Parameters:
line
- the deleted lines following this line number are restored.- Returns:
- the number of restored lines.
- Throws:
BadLocationException
- ifline
is out of bounds.
-