Package com.googlecode.aviator.asm
Class ByteVector
java.lang.Object
com.googlecode.aviator.asm.ByteVector
A dynamically extensible vector of bytes. This class is roughly equivalent to a DataOutputStream
on top of a ByteArrayOutputStream, but is more efficient.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a newByteVector
with a default initial size.ByteVector
(int initialSize) Constructs a newByteVector
with the given initial size. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
enlarge
(int size) Enlarge this byte vector so that it can receive n more bytes.(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.putByte
(int b) Puts a byte into this byte vector.putByteArray
(byte[] b, int off, int len) Puts an array of bytes into this byte vector.putInt
(int i) Puts an int into this byte vector.putLong
(long l) Puts a long into this byte vector.putShort
(int s) Puts a short into this byte vector.Puts an UTF8 string into this byte vector.
-
Field Details
-
data
byte[] dataThe content of this vector. -
length
int lengthActual number of bytes in this vector.
-
-
Constructor Details
-
ByteVector
public ByteVector()Constructs a newByteVector
with a default initial size. -
ByteVector
public ByteVector(int initialSize) Constructs a newByteVector
with the given initial size.- Parameters:
initialSize
- the initial size of the byte vector to be constructed.
-
-
Method Details
-
putByte
Puts a byte into this byte vector. The byte vector is automatically enlarged if necessary.- Parameters:
b
- a byte.- Returns:
- this byte vector.
-
put11
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
Puts a short into this byte vector. The byte vector is automatically enlarged if necessary.- Parameters:
s
- a short.- Returns:
- this byte vector.
-
put12
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
Puts an int into this byte vector. The byte vector is automatically enlarged if necessary.- Parameters:
i
- an int.- Returns:
- this byte vector.
-
putLong
Puts a long into this byte vector. The byte vector is automatically enlarged if necessary.- Parameters:
l
- a long.- Returns:
- this byte vector.
-
putUTF8
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
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.
-
enlarge
private void enlarge(int size) Enlarge this byte vector so that it can receive n more bytes.- Parameters:
size
- number of additional bytes that this byte vector should be able to receive.
-