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.IRangeComparatorpublic boolean rangesEqual(int thisIndex,
org.eclipse.compare.rangedifferencer.IRangeComparator other,
int otherIndex)
rangesEqual in interface org.eclipse.compare.rangedifferencer.IRangeComparatorpublic boolean skipRangeComparison(int length,
int maxLength,
org.eclipse.compare.rangedifferencer.IRangeComparator other)
skipRangeComparison in interface org.eclipse.compare.rangedifferencer.IRangeComparatorprivate 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