public static class ChangeCreator.LineComparator
extends java.lang.Object
implements org.eclipse.compare.rangedifferencer.IRangeComparator
Modifier and Type | Field and Description |
---|---|
private org.eclipse.jface.text.IDocument |
document |
private java.util.ArrayList<java.lang.Integer> |
hashes |
Constructor and Description |
---|
LineComparator(org.eclipse.jface.text.IDocument document)
Create a line comparator for the given document.
|
Modifier and Type | Method and Description |
---|---|
private int |
computeDJBHash(java.lang.String string)
Compute a hash using the DJB hash algorithm
|
private java.lang.Integer |
getHash(int line) |
int |
getRangeCount() |
boolean |
rangesEqual(int thisIndex,
org.eclipse.compare.rangedifferencer.IRangeComparator other,
int otherIndex) |
boolean |
skipRangeComparison(int length,
int maxLength,
org.eclipse.compare.rangedifferencer.IRangeComparator other) |
private final org.eclipse.jface.text.IDocument document
private final java.util.ArrayList<java.lang.Integer> hashes
public LineComparator(org.eclipse.jface.text.IDocument document)
document
- public int getRangeCount()
getRangeCount
in interface org.eclipse.compare.rangedifferencer.IRangeComparator
public boolean rangesEqual(int thisIndex, org.eclipse.compare.rangedifferencer.IRangeComparator other, int otherIndex)
rangesEqual
in interface org.eclipse.compare.rangedifferencer.IRangeComparator
public boolean skipRangeComparison(int length, int maxLength, org.eclipse.compare.rangedifferencer.IRangeComparator other)
skipRangeComparison
in interface org.eclipse.compare.rangedifferencer.IRangeComparator
private java.lang.Integer getHash(int line) throws org.eclipse.jface.text.BadLocationException
line
- the number of the line in the document to get the hash fororg.eclipse.jface.text.BadLocationException
- if the line number is invalidprivate int computeDJBHash(java.lang.String string)
string
- the string for which to compute a hash