Package com.ibm.icu.impl
Class UCharArrayIterator
- java.lang.Object
-
- com.ibm.icu.text.UCharacterIterator
-
- com.ibm.icu.impl.UCharArrayIterator
-
- All Implemented Interfaces:
UForwardCharacterIterator
,java.lang.Cloneable
public final class UCharArrayIterator extends UCharacterIterator
-
-
Constructor Summary
Constructors Constructor Description UCharArrayIterator(char[] text, int start, int limit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Creates a copy of this iterator, does not clone the underlyingReplaceable
objectint
current()
Returns the code unit at the current index.int
getIndex()
Gets the current index in text.int
getLength()
Returns the length of the textint
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
next()
Returns the UTF16 code unit at index, and increments to the next code unit (post-increment semantics).int
previous()
Decrement to the position of the previous code unit in the text, and return it (pre-decrement semantics).void
setIndex(int index)
Sets the index to the specified index in the text.-
Methods inherited from class com.ibm.icu.text.UCharacterIterator
currentCodePoint, getCharacterIterator, getInstance, getInstance, getInstance, getInstance, getInstance, getInstance, getText, getText, moveCodePointIndex, moveIndex, nextCodePoint, previousCodePoint, setToLimit, setToStart
-
-
-
-
Method Detail
-
current
public int current()
Description copied from class:UCharacterIterator
Returns the code unit at the current index. If index is out of range, returns DONE. Index is not changed.- Specified by:
current
in classUCharacterIterator
- Returns:
- current code unit
-
getLength
public int getLength()
Description copied from class:UCharacterIterator
Returns the length of the text- Specified by:
getLength
in classUCharacterIterator
- Returns:
- length of the text
-
getIndex
public int getIndex()
Description copied from class:UCharacterIterator
Gets the current index in text.- Specified by:
getIndex
in classUCharacterIterator
- Returns:
- current index in text.
-
next
public int next()
Description copied from class:UCharacterIterator
Returns the UTF16 code unit at index, and increments to the next code unit (post-increment semantics). If index is out of range, DONE is returned, and the iterator is reset to the limit of the text.- Specified by:
next
in interfaceUForwardCharacterIterator
- Specified by:
next
in classUCharacterIterator
- Returns:
- the next UTF16 code unit, or DONE if the index is at the limit of the text.
-
previous
public int previous()
Description copied from class:UCharacterIterator
Decrement to the position of the previous code unit in the text, and return it (pre-decrement semantics). If the resulting index is less than 0, the index is reset to 0 and DONE is returned.- Specified by:
previous
in classUCharacterIterator
- Returns:
- the previous code unit in the text, or DONE if the new index is before the start of the text.
-
setIndex
public void setIndex(int index)
Description copied from class:UCharacterIterator
Sets the index to the specified index in the text.- Specified by:
setIndex
in classUCharacterIterator
- Parameters:
index
- the index within the text.
-
getText
public int getText(char[] fillIn, int offset)
Description copied from class:UCharacterIterator
Fills the buffer with the underlying text storage of the iterator If the buffer capacity is not enough a exception is thrown. The capacity of the fill in buffer should at least be equal to length of text in the iterator obtained by callinggetLength()
). 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()]; } }
- Specified by:
getText
in classUCharacterIterator
- Parameters:
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.- Returns:
- the number of code units added to fillIn, as a convenience
-
clone
public java.lang.Object clone()
Creates a copy of this iterator, does not clone the underlyingReplaceable
object- Overrides:
clone
in classUCharacterIterator
- Returns:
- copy of this iterator
-
-