Class ByteVector

java.lang.Object
com.itextpdf.layout.hyphenation.ByteVector

public class ByteVector extends Object
This class implements a simple byte vector with access to the underlying array.

This work was authored by Carlos Villegas (cav@uniscope.co.jp).

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private byte[]
    The encapsulated array
    private int
     
    private static final int
    Capacity increment size
    private int
    Points to next free item
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct byte vector instance with default block size.
    ByteVector(byte[] a)
    Construct byte vector instance.
    ByteVector(byte[] a, int capacity)
    Construct byte vector instance.
    ByteVector(int capacity)
    Construct byte vector instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    alloc(int size)
    This is to implement memory allocation in the array.
    int
    Obtain capacity of array.
    byte
    get(int index)
    Get byte at index.
    byte[]
    Obtain byte vector array.
    int
    Obtain number of items in array.
    void
    put(int index, byte val)
    Pet byte at index.
    void
    Trim byte vector to current length.

    Methods inherited from class java.lang.Object

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

    • DEFAULT_BLOCK_SIZE

      private static final int DEFAULT_BLOCK_SIZE
      Capacity increment size
      See Also:
    • blockSize

      private int blockSize
    • array

      private byte[] array
      The encapsulated array
    • n

      private int n
      Points to next free item
  • Constructor Details

    • ByteVector

      public ByteVector()
      Construct byte vector instance with default block size.
    • ByteVector

      public ByteVector(int capacity)
      Construct byte vector instance.
      Parameters:
      capacity - initial block size
    • ByteVector

      public ByteVector(byte[] a)
      Construct byte vector instance.
      Parameters:
      a - byte array to use TODO should n should be initialized to a.length to be consistent with CharVector behavior? [GA]
    • ByteVector

      public ByteVector(byte[] a, int capacity)
      Construct byte vector instance.
      Parameters:
      a - byte array to use
      capacity - initial block size TODO should n should be initialized to a.length to be consistent with CharVector behavior? [GA]
  • Method Details

    • getArray

      public byte[] getArray()
      Obtain byte vector array.
      Returns:
      byte array
    • length

      public int length()
      Obtain number of items in array.
      Returns:
      number of items
    • capacity

      public int capacity()
      Obtain capacity of array.
      Returns:
      current capacity of array
    • put

      public void put(int index, byte val)
      Pet byte at index.
      Parameters:
      index - the index
      val - a byte
    • get

      public byte get(int index)
      Get byte at index.
      Parameters:
      index - the index
      Returns:
      a byte
    • alloc

      public int alloc(int size)
      This is to implement memory allocation in the array. Like malloc().
      Parameters:
      size - to allocate
      Returns:
      previous length
    • trimToSize

      public void trimToSize()
      Trim byte vector to current length.