org.compass.core.util.asm
Class ByteVector

java.lang.Object
  extended by org.compass.core.util.asm.ByteVector

public class ByteVector
extends Object

A dynamically extensible vector of bytes. This class is roughly equivalent to a DataOutputStream on top of a ByteArrayOutputStream, but is more efficient.

Author:
Eric Bruneton

Field Summary
(package private)  byte[] data
          The content of this vector.
(package private)  int length
          Actual number of bytes in this vector.
 
Constructor Summary
ByteVector()
          Constructs a new ByteVector with a default initial size.
ByteVector(int initialSize)
          Constructs a new ByteVector with the given initial size.
 
Method Summary
(package private)  ByteVector put11(int b1, int b2)
          Puts two bytes into this byte vector.
(package private)  ByteVector put12(int b, int s)
          Puts a byte and a short into this byte vector.
 ByteVector putByte(int b)
          Puts a byte into this byte vector.
 ByteVector putByteArray(byte[] b, int off, int len)
          Puts an array of bytes into this byte vector.
 ByteVector putInt(int i)
          Puts an int into this byte vector.
 ByteVector putLong(long l)
          Puts a long into this byte vector.
 ByteVector putShort(int s)
          Puts a short into this byte vector.
 ByteVector putUTF8(String s)
          Puts an UTF8 string into this byte vector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

data

byte[] data
The content of this vector.


length

int length
Actual number of bytes in this vector.

Constructor Detail

ByteVector

public ByteVector()
Constructs a new ByteVector with a default initial size.


ByteVector

public ByteVector(int initialSize)
Constructs a new ByteVector with the given initial size.

Parameters:
initialSize - the initial size of the byte vector to be constructed.
Method Detail

putByte

public ByteVector putByte(int b)
Puts a byte into this byte vector. The byte vector is automatically enlarged if necessary.

Parameters:
b - a byte.
Returns:
this byte vector.

put11

ByteVector put11(int b1,
                 int b2)
Puts two bytes into this byte vector. The byte vector is automatically enlarged if necessary.

Parameters:
b1 - a byte.
b2 - another byte.
Returns:
this byte vector.

putShort

public ByteVector putShort(int s)
Puts a short into this byte vector. The byte vector is automatically enlarged if necessary.

Parameters:
s - a short.
Returns:
this byte vector.

put12

ByteVector put12(int b,
                 int s)
Puts a byte and a short into this byte vector. The byte vector is automatically enlarged if necessary.

Parameters:
b - a byte.
s - a short.
Returns:
this byte vector.

putInt

public ByteVector putInt(int i)
Puts an int into this byte vector. The byte vector is automatically enlarged if necessary.

Parameters:
i - an int.
Returns:
this byte vector.

putLong

public ByteVector putLong(long l)
Puts a long into this byte vector. The byte vector is automatically enlarged if necessary.

Parameters:
l - a long.
Returns:
this byte vector.

putUTF8

public ByteVector putUTF8(String s)
Puts an UTF8 string into this byte vector. The byte vector is automatically enlarged if necessary.

Parameters:
s - a String.
Returns:
this byte vector.

putByteArray

public ByteVector putByteArray(byte[] b,
                               int off,
                               int len)
Puts an array of bytes into this byte vector. The byte vector is automatically enlarged if necessary.

Parameters:
b - an array of bytes. May be null to put len null bytes into this byte vector.
off - index of the fist byte of b that must be copied.
len - number of bytes of b that must be copied.
Returns:
this byte vector.


Copyright (c) 2004-2008 The Compass Project.