Package oracle.sql

Class CharacterWalker


  • public final class CharacterWalker
    extends Object
    A CharacterWalker lets you walk through the characters that are represented as a sequence of bytes in some CharacterSet.

    A character set determines a 32 bit value for each character. The values from 0 to 64K are reserved for their Unicode interpretation. Otherwise the value has no particular significance. But values can be used to build up another sequence with a CharacterBuffer.

    See Also:
    CharacterSet, CharacterBuffer
    • Constructor Detail

      • CharacterWalker

        public CharacterWalker​(CharacterSet charSet,
                               byte[] bytes,
                               int offset,
                               int count)
        Constructor.
        Parameters:
        charSet - the CharacterSet to be used in interpreting the bytes.
        bytes - the byte array containing the data to be interpreted.
        offset - the index in bytes of the first byte to be interpreted.
        count - the number of bytes to be interpreted.
    • Method Detail

      • nextCharacter

        public int nextCharacter()
                          throws NoSuchElementException
        Returns the next character in the sequence and advances the CharacterWalker over it.
        Returns:
        the 32 bit representation of the next character
        Throws:
        NoSuchElementException - if the walker has already returned the last character or the sequence is ill-formed. That is, the next bytes are somehow not allowed in the given representation
      • hasMoreCharacters

        public boolean hasMoreCharacters()
        Reports whether there are more bytes waiting to be converted. Note that even if hasMoreCharacters returns true, it's possible for nextCharacter to throw an exception because the bytes aren't well-formed.