Class UTF16Buffer


  • public final class UTF16Buffer
    extends java.lang.Object
    An UTF-16 buffer that knows the start and end indeces of its unconsumed content.
    Version:
    $Id$
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private char[] buffer
      The backing store of the buffer.
      private int end
      The index of the slot immediately after the last character in the backing buffer that is part of the logical content of this UTF16Buffer.
      private int start
      The index of the first unconsumed character in the backing buffer.
    • Constructor Summary

      Constructors 
      Constructor Description
      UTF16Buffer​(char[] buffer, int start, int end)
      Constructor for wrapping an existing UTF-16 code unit array.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void adjust​(boolean lastWasCR)
      Adjusts the start index to skip over the first character if it is a line feed and the previous character was a carriage return.
      char[] getBuffer()
      Returns the backing buffer.
      int getEnd()
      Returns the end index.
      int getStart()
      Returns the start index.
      boolean hasMore()
      Checks if the buffer has data left.
      void setEnd​(int end)
      Sets the end index.
      void setStart​(int start)
      Sets the start index.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • buffer

        private final char[] buffer
        The backing store of the buffer. May be larger than the logical content of this UTF16Buffer.
      • start

        private int start
        The index of the first unconsumed character in the backing buffer.
      • end

        private int end
        The index of the slot immediately after the last character in the backing buffer that is part of the logical content of this UTF16Buffer.
    • Constructor Detail

      • UTF16Buffer

        public UTF16Buffer​(char[] buffer,
                           int start,
                           int end)
        Constructor for wrapping an existing UTF-16 code unit array.
        Parameters:
        buffer - the backing buffer
        start - the index of the first character to consume
        end - the index immediately after the last character to consume
    • Method Detail

      • getStart

        public int getStart()
        Returns the start index.
        Returns:
        the start index
      • setStart

        public void setStart​(int start)
        Sets the start index.
        Parameters:
        start - the start index
      • getBuffer

        public char[] getBuffer()
        Returns the backing buffer.
        Returns:
        the backing buffer
      • getEnd

        public int getEnd()
        Returns the end index.
        Returns:
        the end index
      • hasMore

        public boolean hasMore()
        Checks if the buffer has data left.
        Returns:
        true if there's data left
      • adjust

        public void adjust​(boolean lastWasCR)
        Adjusts the start index to skip over the first character if it is a line feed and the previous character was a carriage return.
        Parameters:
        lastWasCR - whether the previous character was a carriage return
      • setEnd

        public void setEnd​(int end)
        Sets the end index.
        Parameters:
        end - the end index