org.apache.fop.hyphenation

## Class ByteVector

- java.lang.Object
- - org.apache.fop.hyphenation.ByteVector

- All Implemented Interfaces:
    java.io.Serializable

      public class ByteVector
      extends java.lang.Object
      implements java.io.Serializable

  This class implements a simple byte vector with access to the underlying array.

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

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ByteVector()` 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

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

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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.

Copyright 1999-2021 The Apache Software Foundation. All Rights Reserved.