Class RecycledByteArrayBuffer

java.lang.Object
org.apache.james.mime4j.util.RecycledByteArrayBuffer
All Implemented Interfaces:
ByteSequence

public final class RecycledByteArrayBuffer extends Object implements ByteSequence
A resizable byte array.
  • Field Details

    • bufferRecycler

      private final BufferRecycler bufferRecycler
    • buffer

      private byte[] buffer
    • len

      private int len
  • Constructor Details

    • RecycledByteArrayBuffer

      public RecycledByteArrayBuffer(BufferRecycler bufferRecycler, int capacity)
    • RecycledByteArrayBuffer

      public RecycledByteArrayBuffer(BufferRecycler bufferRecycler, byte[] bytes, boolean dontCopy)
    • RecycledByteArrayBuffer

      public RecycledByteArrayBuffer(BufferRecycler bufferRecycler, byte[] bytes, int len, boolean dontCopy)
  • Method Details

    • expand

      private void expand(int newlen)
    • append

      public void append(byte[] b, int off, int len)
    • append

      public void append(int b)
    • clear

      public void clear()
    • toByteArray

      public byte[] toByteArray()
      Description copied from interface: ByteSequence
      Copies the contents of this byte sequence into a newly allocated byte array and returns that array.
      Specified by:
      toByteArray in interface ByteSequence
      Returns:
      a byte array holding a copy of this byte sequence.
    • byteAt

      public byte byteAt(int i)
      Description copied from interface: ByteSequence
      Returns the byte value at the specified index.
      Specified by:
      byteAt in interface ByteSequence
      Parameters:
      i - the index of the byte value to be returned.
      Returns:
      the corresponding byte value
    • capacity

      public int capacity()
    • length

      public int length()
      Description copied from interface: ByteSequence
      Returns the length of this byte sequence.
      Specified by:
      length in interface ByteSequence
      Returns:
      the number of bytes in this sequence.
    • buffer

      public byte[] buffer()
    • indexOf

      public int indexOf(byte b)
    • indexOf

      public int indexOf(byte b, int beginIndex, int endIndex)
    • setLength

      public void setLength(int len)
    • remove

      public void remove(int off, int len)
    • isEmpty

      public boolean isEmpty()
    • isFull

      public boolean isFull()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • release

      public void release()