|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.ibm.icu.text.UCharacterIterator
public abstract class UCharacterIterator
Abstract class that defines an API for iteration on text objects.This is an
interface for forward and backward iteration and random access into a text
object. Forward iteration is done with post-increment and backward iteration
is done with pre-decrement semantics, while the
java.text.CharacterIterator
interface methods provided forward
iteration with "pre-increment" and backward iteration with pre-decrement
semantics. This API is more efficient for forward iteration over code points.
The other major difference is that this API can do both code unit and code point
iteration, java.text.CharacterIterator
can only iterate over
code units and is limited to BMP (0 - 0xFFFF)
Field Summary |
---|
Fields inherited from interface com.ibm.icu.text.UForwardCharacterIterator |
---|
DONE |
Constructor Summary | |
---|---|
protected |
UCharacterIterator()
Protected default constructor for the subclasses |
Method Summary | |
---|---|
Object |
clone()
Creates a copy of this iterator, independent from other iterators. |
abstract int |
current()
Returns the code unit at the current index. |
int |
currentCodePoint()
Returns the codepoint at the current index. |
CharacterIterator |
getCharacterIterator()
Returns a java.text.CharacterIterator object for
the underlying text of this iterator. |
abstract int |
getIndex()
Gets the current index in text. |
static UCharacterIterator |
getInstance(char[] source)
Returns a UCharacterIterator object given a
source character array. |
static UCharacterIterator |
getInstance(char[] source,
int start,
int limit)
Returns a UCharacterIterator object given a
source character array. |
static UCharacterIterator |
getInstance(CharacterIterator source)
Returns a UCharacterIterator object given a
CharacterIterator. |
static UCharacterIterator |
getInstance(Replaceable source)
Returns a UCharacterIterator object given a
Replaceable object. |
static UCharacterIterator |
getInstance(String source)
Returns a UCharacterIterator object given a
source string. |
static UCharacterIterator |
getInstance(StringBuffer source)
Returns a UCharacterIterator object given a
source StringBuffer. |
abstract int |
getLength()
Returns the length of the text |
String |
getText()
Convenience method for returning the underlying text storage as as string |
int |
getText(char[] fillIn)
Convenience override for getText(char[], int)>/code> that provides
an offset of 0. |
abstract int |
getText(char[] fillIn,
int offset)
Fills the buffer with the underlying text storage of the iterator If the buffer capacity is not enough a exception is thrown. |
int |
moveCodePointIndex(int delta)
Moves the current position by the number of code points specified, either forward or backward depending on the sign of delta (positive or negative respectively). |
int |
moveIndex(int delta)
Moves the current position by the number of code units specified, either forward or backward depending on the sign of delta (positive or negative respectively). |
abstract int |
next()
Returns the UTF16 code unit at index, and increments to the next code unit (post-increment semantics). |
int |
nextCodePoint()
Returns the code point at index, and increments to the next code point (post-increment semantics). |
abstract int |
previous()
Decrement to the position of the previous code unit in the text, and return it (pre-decrement semantics). |
int |
previousCodePoint()
Retreat to the start of the previous code point in the text, and return it (pre-decrement semantics). |
abstract void |
setIndex(int index)
Sets the index to the specified index in the text. |
void |
setToLimit()
Sets the current index to the limit. |
void |
setToStart()
Sets the current index to the start. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected UCharacterIterator()
Method Detail |
---|
public static final UCharacterIterator getInstance(Replaceable source)
UCharacterIterator
object given a
Replaceable
object.
source
- a valid source as a Replaceable
object
IllegalArgumentException
- if the argument is nullpublic static final UCharacterIterator getInstance(String source)
UCharacterIterator
object given a
source string.
source
- a string
IllegalArgumentException
- if the argument is nullpublic static final UCharacterIterator getInstance(char[] source)
UCharacterIterator
object given a
source character array.
source
- an array of UTF-16 code units
IllegalArgumentException
- if the argument is nullpublic static final UCharacterIterator getInstance(char[] source, int start, int limit)
UCharacterIterator
object given a
source character array.
source
- an array of UTF-16 code units
IllegalArgumentException
- if the argument is nullpublic static final UCharacterIterator getInstance(StringBuffer source)
UCharacterIterator
object given a
source StringBuffer.
source
- an string buffer of UTF-16 code units
IllegalArgumentException
- if the argument is nullpublic static final UCharacterIterator getInstance(CharacterIterator source)
UCharacterIterator
object given a
CharacterIterator.
source
- a valid CharacterIterator object.
IllegalArgumentException
- if the argument is nullpublic CharacterIterator getCharacterIterator()
java.text.CharacterIterator
object for
the underlying text of this iterator. The returned iterator is
independent of this iterator.
public abstract int current()
public int currentCodePoint()
public abstract int getLength()
public abstract int getIndex()
public abstract int next()
next
in interface UForwardCharacterIterator
public int nextCodePoint()
next(). Otherwise the iterator is incremented past
the surrogate pair, and the code point represented by the pair
is returned.
- Specified by:
nextCodePoint
in interface UForwardCharacterIterator
- Returns:
- the next codepoint in text, or DONE if the index is at
the limit of the text.
- Status:
- Stable ICU 2.4.
public abstract int previous()
public int previousCodePoint()
previous()
. Otherwise the iterator is
decremented to the start of the surrogate pair, and the code
point represented by the pair is returned.
public abstract void setIndex(int index)
index
- the index within the text.
IndexOutOfBoundsException
- is thrown if an invalid index is
suppliedpublic void setToLimit()
public void setToStart()
public abstract int getText(char[] fillIn, int offset)
getLength()
Usage:
UChacterIterator iter = new UCharacterIterator.getInstance(text);
char[] buf = new char[iter.getLength()];
iter.getText(buf);
OR
char[] buf= new char[1];
int len = 0;
for(;;){
try{
len = iter.getText(buf);
break;
}catch(IndexOutOfBoundsException e){
buf = new char[iter.getLength()];
}
}
fillIn
- an array of chars to fill with the underlying UTF-16 code
units.offset
- the position within the array to start putting the data.
IndexOutOfBoundsException
- exception if there is not enough
room after offset in the array, or if offset < 0.public final int getText(char[] fillIn)
getText(char[], int)>/code> that provides
an offset of 0.
- Parameters:
fillIn
- an array of chars to fill with the underlying UTF-16 code
units.
- Returns:
- the number of code units added to fillIn, as a convenience
- Throws:
IndexOutOfBoundsException
- exception if there is not enough
room in the array.- Status:
- Stable ICU 2.4.
public String getText()
public int moveIndex(int delta)
delta
- the number of code units to move the current
index.
IndexOutOfBoundsException
- is thrown if an invalid index is
suppliedpublic int moveCodePointIndex(int delta)
delta
- the number of code units to move the current index.
IndexOutOfBoundsException
- is thrown if an invalid delta is
suppliedpublic Object clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |