Class ExpandableBuffer

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ExpandableBuffer.Mode  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ExpandableBuffer​(int bufferSize)
      Allocates buffer of the given size using the given allocator.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.nio.ByteBuffer buffer()  
      protected int capacity()
      Returns available capacity of this buffer.
      protected void clear()
      Clears buffer.
      protected void ensureAdjustedCapacity​(int requiredCapacity)
      Ensures the buffer can accommodate at least the required capacity adjusted to multiples of 1024.
      protected void ensureCapacity​(int requiredCapacity)
      Ensures the buffer can accommodate the exact required capacity.
      protected void expand()
      Expands buffer's capacity.
      private void expandCapacity​(int capacity)  
      protected boolean hasData()
      Determines if the buffer contains data.
      protected int length()
      Returns the length of this buffer.
      protected ExpandableBuffer.Mode mode()
      Returns the current mode:
      protected void setInputMode()
      Sets the mode to input.
      protected void setOutputMode()
      Sets the mode to output.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ExpandableBuffer

        protected ExpandableBuffer​(int bufferSize)
        Allocates buffer of the given size using the given allocator.

        Sets the mode to input.

        Parameters:
        bufferSize - the buffer size.
    • Method Detail

      • buffer

        protected java.nio.ByteBuffer buffer()
      • setOutputMode

        protected void setOutputMode()
        Sets the mode to output. The buffer can now be read from.
      • setInputMode

        protected void setInputMode()
        Sets the mode to input. The buffer can now be written into.
      • expandCapacity

        private void expandCapacity​(int capacity)
      • expand

        protected void expand()
                       throws java.nio.BufferOverflowException
        Expands buffer's capacity.
        Throws:
        java.nio.BufferOverflowException - in case we get over the maximum allowed value
      • ensureCapacity

        protected void ensureCapacity​(int requiredCapacity)
        Ensures the buffer can accommodate the exact required capacity.
        Parameters:
        requiredCapacity - the required capacity.
      • ensureAdjustedCapacity

        protected void ensureAdjustedCapacity​(int requiredCapacity)
        Ensures the buffer can accommodate at least the required capacity adjusted to multiples of 1024.
        Parameters:
        requiredCapacity - the required capacity.
      • hasData

        protected boolean hasData()
        Determines if the buffer contains data.

        Sets the mode to output.

        Returns:
        true if there is data in the buffer, false otherwise.
      • length

        protected int length()
        Returns the length of this buffer.

        Sets the mode to output.

        Returns:
        buffer length.
      • capacity

        protected int capacity()
        Returns available capacity of this buffer.
        Returns:
        buffer length.
      • clear

        protected void clear()
        Clears buffer.

        Sets the mode to input.

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object