Package com.ibm.icu.impl
Class Normalizer2Impl.ReorderingBuffer
- java.lang.Object
-
- com.ibm.icu.impl.Normalizer2Impl.ReorderingBuffer
-
- All Implemented Interfaces:
java.lang.Appendable
- Enclosing class:
- Normalizer2Impl
public static final class Normalizer2Impl.ReorderingBuffer extends java.lang.Object implements java.lang.Appendable
Writable buffer that takes care of canonical ordering. Its Appendable methods behave like the C++ implementation's appendZeroCC() methods.If dest is a StringBuilder, then the buffer writes directly to it. Otherwise, the buffer maintains a StringBuilder for intermediate text segments until no further changes are necessary and whole segments are appended. append() methods that take combining-class values always write to the StringBuilder. Other append() methods flush and append to the Appendable.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Appendable
app
private boolean
appIsStringBuilder
private int
codePointLimit
private int
codePointStart
private Normalizer2Impl
impl
private int
lastCC
private int
reorderStart
private java.lang.StringBuilder
str
-
Constructor Summary
Constructors Constructor Description ReorderingBuffer(Normalizer2Impl ni, java.lang.Appendable dest, int destCapacity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Normalizer2Impl.ReorderingBuffer
append(char c)
void
append(int c, int cc)
Normalizer2Impl.ReorderingBuffer
append(java.lang.CharSequence s)
Normalizer2Impl.ReorderingBuffer
append(java.lang.CharSequence s, int start, int limit)
void
append(java.lang.CharSequence s, int start, int limit, boolean isNFD, int leadCC, int trailCC)
void
appendZeroCC(int c)
boolean
equals(java.lang.CharSequence s, int start, int limit)
void
flush()
Flushes from the intermediate StringBuilder to the Appendable, if they are different objects.Normalizer2Impl.ReorderingBuffer
flushAndAppendZeroCC(java.lang.CharSequence s, int start, int limit)
Flushes from the intermediate StringBuilder to the Appendable, if they are different objects.int
getLastCC()
java.lang.StringBuilder
getStringBuilder()
private void
insert(int c, int cc)
boolean
isEmpty()
int
length()
private int
previousCC()
void
remove()
void
removeSuffix(int suffixLength)
private void
setIterator()
private void
skipPrevious()
-
-
-
Field Detail
-
impl
private final Normalizer2Impl impl
-
app
private final java.lang.Appendable app
-
str
private final java.lang.StringBuilder str
-
appIsStringBuilder
private final boolean appIsStringBuilder
-
reorderStart
private int reorderStart
-
lastCC
private int lastCC
-
codePointStart
private int codePointStart
-
codePointLimit
private int codePointLimit
-
-
Constructor Detail
-
ReorderingBuffer
public ReorderingBuffer(Normalizer2Impl ni, java.lang.Appendable dest, int destCapacity)
-
-
Method Detail
-
isEmpty
public boolean isEmpty()
-
length
public int length()
-
getLastCC
public int getLastCC()
-
getStringBuilder
public java.lang.StringBuilder getStringBuilder()
-
equals
public boolean equals(java.lang.CharSequence s, int start, int limit)
-
append
public void append(int c, int cc)
-
append
public void append(java.lang.CharSequence s, int start, int limit, boolean isNFD, int leadCC, int trailCC)
-
append
public Normalizer2Impl.ReorderingBuffer append(char c)
- Specified by:
append
in interfacejava.lang.Appendable
-
appendZeroCC
public void appendZeroCC(int c)
-
append
public Normalizer2Impl.ReorderingBuffer append(java.lang.CharSequence s)
- Specified by:
append
in interfacejava.lang.Appendable
-
append
public Normalizer2Impl.ReorderingBuffer append(java.lang.CharSequence s, int start, int limit)
- Specified by:
append
in interfacejava.lang.Appendable
-
flush
public void flush()
Flushes from the intermediate StringBuilder to the Appendable, if they are different objects. Used after recomposition. Must be called at the end when writing to a non-StringBuilder Appendable.
-
flushAndAppendZeroCC
public Normalizer2Impl.ReorderingBuffer flushAndAppendZeroCC(java.lang.CharSequence s, int start, int limit)
Flushes from the intermediate StringBuilder to the Appendable, if they are different objects. Then appends the new text to the Appendable or StringBuilder. Normally used after quick check loops find a non-empty sequence.
-
remove
public void remove()
-
removeSuffix
public void removeSuffix(int suffixLength)
-
insert
private void insert(int c, int cc)
-
setIterator
private void setIterator()
-
skipPrevious
private void skipPrevious()
-
previousCC
private int previousCC()
-
-