uka.util
Class EnlargingByteArray

java.lang.Object
  extended byuka.util.EnlargingByteArray
All Implemented Interfaces:
java.io.Serializable

public final class EnlargingByteArray
extends java.lang.Object
implements java.io.Serializable

A simple wrapper class for a regular Java array. In addition to the features of built-in Java arrays, instances of this class can be enlarged either automatically by setting a value to a position that exceeds the current size() of this array, or manually be explicitely setting the size.

This class is more convenient than a ArrayList, if direct manipulation of the array size is required. In addition there are customized versions of this class for all Java basic types.

Author:
Bernhard Haumacher
See Also:
Serialized Form

Field Summary
(package private)  byte[] array
           
 byte DEFAULT
           
(package private)  int length
           
static int MIN_SIZE
           
 
Constructor Summary
EnlargingByteArray()
           
EnlargingByteArray(EnlargingByteArray other)
           
EnlargingByteArray(int length)
           
EnlargingByteArray(int length, byte DEFAULT)
           
 
Method Summary
 byte add(byte obj)
           
 void appendTo(ToString s)
           
 void clear()
           
static void copy(EnlargingByteArray src, int srcIndex, EnlargingByteArray dst, int dstIndex, int length)
           
private  void enlarge(int newLength)
           
 void fill(int start, int stop, byte value)
           
 byte get(int idx)
           
 ByteIterator iterator()
           
 void move(int moveSrc, int moveDst, int moveLength)
           
 void permute(Permutation permutation)
          Permutes the contents of this array.
 byte pop()
          Returns the element at position size() - 1 and shrinks the size of this array by 1.
 byte remove(int idx)
           
 byte set(int idx, byte obj)
           
 void setSize(int size)
           
 int size()
           
 byte test(int idx)
          Same as get(int), except for indices larger than or equal to the array length.
 byte[] toArray(byte[] a)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT

public final byte DEFAULT

length

int length

array

byte[] array

MIN_SIZE

public static final int MIN_SIZE
See Also:
Constant Field Values
Constructor Detail

EnlargingByteArray

public EnlargingByteArray()

EnlargingByteArray

public EnlargingByteArray(int length)

EnlargingByteArray

public EnlargingByteArray(int length,
                          byte DEFAULT)

EnlargingByteArray

public EnlargingByteArray(EnlargingByteArray other)
Method Detail

get

public byte get(int idx)

test

public byte test(int idx)
Same as get(int), except for indices larger than or equal to the array length. For these cases, test(int) returns a null value instead of throwing an exception.


set

public byte set(int idx,
                byte obj)

copy

public static void copy(EnlargingByteArray src,
                        int srcIndex,
                        EnlargingByteArray dst,
                        int dstIndex,
                        int length)

add

public byte add(byte obj)

remove

public byte remove(int idx)

pop

public byte pop()
Returns the element at position size() - 1 and shrinks the size of this array by 1. This method enables a stack-like usage of this array.


permute

public void permute(Permutation permutation)
Permutes the contents of this array. The element at index n is moved to index permutation.compute(n).


setSize

public void setSize(int size)

size

public int size()

clear

public void clear()

move

public void move(int moveSrc,
                 int moveDst,
                 int moveLength)

fill

public void fill(int start,
                 int stop,
                 byte value)

enlarge

private final void enlarge(int newLength)

iterator

public ByteIterator iterator()

toArray

public byte[] toArray(byte[] a)

toString

public java.lang.String toString()

appendTo

public void appendTo(ToString s)