Package com.ibm.icu.impl
Class UCharArrayIterator
java.lang.Object
com.ibm.icu.text.UCharacterIterator
com.ibm.icu.impl.UCharArrayIterator
- All Implemented Interfaces:
UForwardCharacterIterator
,Cloneable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
private int
private final int
private final char[]
Fields inherited from interface com.ibm.icu.text.UForwardCharacterIterator
DONE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
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
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
-
Field Details
-
text
private final char[] text -
start
private final int start -
limit
private final int limit -
pos
private int pos
-
-
Constructor Details
-
UCharArrayIterator
public UCharArrayIterator(char[] text, int start, int limit)
-
-
Method Details
-
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
Creates a copy of this iterator, does not clone the underlyingReplaceable
object- Overrides:
clone
in classUCharacterIterator
- Returns:
- copy of this iterator
-