iicm.vrml.pwutils
Class ByteArray

java.lang.Object
  |
  +--iicm.vrml.pwutils.ByteArray

public class ByteArray
extends java.lang.Object

ByteArray - dynamic array of byte type values better time and memory efficiency than Vector, byte[] accessible in native code Copyright (c) 1996 IICM


Constructor Summary
ByteArray()
          create with default length
ByteArray(byte[] dat)
          copy initial data from another byte[].
ByteArray(ByteArray dat)
          copy initial data from another ByteArray (non-null). do not use the above constructor in this case, as it would use all values, not just the used length (count); again: values are *copied*
ByteArray(int len)
          create with initial buffer length
 
Method Summary
 void append(byte d)
          append one byte element
 void append(byte[] d, int num)
          append several byte elements
 boolean clearData()
          clear the array
 int getCount()
          get count of used array members.
 byte[] getData()
          get data array.
 byte[] getTrimmedArray()
          get data array with proper length.
 void setData(byte[] dat)
          copy data from a byte[]
 void setData(byte[] dat, int n)
          copy first n elements of a byte[]
 void setData(ByteArray dat)
          copy data from another ByteArray
 void setSize(int n)
          set number of used array elements (ensures there is enough storage)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ByteArray

public ByteArray()
create with default length

ByteArray

public ByteArray(int len)
create with initial buffer length

ByteArray

public ByteArray(byte[] dat)
copy initial data from another byte[]. To say it again: values in byte[] are *copied* and not just referenced by this class

ByteArray

public ByteArray(ByteArray dat)
copy initial data from another ByteArray (non-null). do not use the above constructor in this case, as it would use all values, not just the used length (count); again: values are *copied*
Method Detail

setData

public void setData(ByteArray dat)
copy data from another ByteArray

setData

public void setData(byte[] dat)
copy data from a byte[]

setData

public void setData(byte[] dat,
                    int n)
copy first n elements of a byte[]

getCount

public final int getCount()
get count of used array members. Note: may be smaller than data_.length

getData

public final byte[] getData()
get data array. Only elements 0 to (getCount () - 1) were set by user. Subsequent calls (after enlargement) may return a different array object

getTrimmedArray

public final byte[] getTrimmedArray()
get data array with proper length. May involve copying

append

public void append(byte d)
append one byte element

append

public void append(byte[] d,
                   int num)
append several byte elements

setSize

public void setSize(int n)
set number of used array elements (ensures there is enough storage)

clearData

public boolean clearData()
clear the array
Returns:
true if the array was previously non-empty