public final class Edits extends Object
Modifier and Type | Class and Description |
---|---|
static class |
Edits.Iterator
Access to the list of edits.
|
Constructor and Description |
---|
Edits()
Constructs an empty object.
|
Modifier and Type | Method and Description |
---|---|
void |
addReplace(int oldLength,
int newLength)
Adds a record for a text replacement/insertion/deletion.
|
void |
addUnchanged(int unchangedLength)
Adds a record for an unchanged segment of text.
|
Edits.Iterator |
getCoarseChangesIterator()
Returns an Iterator for coarse-grained changes for simple string updates.
|
Edits.Iterator |
getCoarseIterator()
Returns an Iterator for coarse-grained changes and non-changes for simple string updates.
|
Edits.Iterator |
getFineChangesIterator()
Returns an Iterator for fine-grained changes for modifying styled text.
|
Edits.Iterator |
getFineIterator()
Returns an Iterator for fine-grained changes and non-changes for modifying styled text.
|
boolean |
hasChanges() |
int |
lengthDelta()
How much longer is the new text compared with the old text?
|
Edits |
mergeAndAppend(Edits ab,
Edits bc)
Merges the two input Edits and appends the result to this object.
|
int |
numberOfChanges() |
void |
reset()
Resets the data but may not release memory.
|
public void reset()
public void addUnchanged(int unchangedLength)
public void addReplace(int oldLength, int newLength)
public int lengthDelta()
public boolean hasChanges()
public int numberOfChanges()
public Edits.Iterator getCoarseChangesIterator()
public Edits.Iterator getCoarseIterator()
public Edits.Iterator getFineChangesIterator()
public Edits.Iterator getFineIterator()
public Edits mergeAndAppend(Edits ab, Edits bc)
Consider two string transformations (for example, normalization and case mapping)
where each records Edits in addition to writing an output string.
Edits ab reflect how substrings of input string a
map to substrings of intermediate string b.
Edits bc reflect how substrings of intermediate string b
map to substrings of output string c.
This function merges ab and bc such that the additional edits
recorded in this object reflect how substrings of input string a
map to substrings of output string c.
If unrelated Edits are passed in where the output string of the first has a different length than the input string of the second, then an IllegalArgumentException is thrown.
ab
- reflects how substrings of input string a
map to substrings of intermediate string b.bc
- reflects how substrings of intermediate string b
map to substrings of output string c.Copyright © 2016 Unicode, Inc. and others.