Package org.apache.derby.iapi.util
Class ByteArray
java.lang.Object
org.apache.derby.iapi.util.ByteArray
ByteArray wraps java byte arrays (byte[]) to allow
byte arrays to be used as keys in hashtables.
This is required because the equals function on
byte[] directly uses reference equality.
This class also allows the trio of array, offset and length to be carried around as a single object.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
equals
(byte[] a, int aOffset, int aLength, byte[] b, int bOffset, int bLength) Compare two byte arrays using value equality.boolean
Value equality for byte arrays.final byte[]
getArray()
final int
final int
int
hashCode()
void
Read this object from a stream of stored objects.void
setBytes
(byte[] array) void
setBytes
(byte[] array, int length) void
setBytes
(byte[] array, int offset, int length) final void
setLength
(int newLength) void
Write the byte array out w/o compression
-
Field Details
-
array
private byte[] array -
offset
private int offset -
length
private int length
-
-
Constructor Details
-
ByteArray
public ByteArray(byte[] array, int offset, int length) Create an instance of this class that wraps ths given array. This class does not make a copy of the array, it just saves the reference. -
ByteArray
public ByteArray(byte[] array) -
ByteArray
public ByteArray()
-
-
Method Details
-
setBytes
public void setBytes(byte[] array) -
setBytes
public void setBytes(byte[] array, int length) -
setBytes
public void setBytes(byte[] array, int offset, int length) -
equals
Value equality for byte arrays. -
hashCode
public int hashCode() -
getArray
public final byte[] getArray() -
getOffset
public final int getOffset() -
getLength
public final int getLength() -
setLength
public final void setLength(int newLength) -
readExternal
Read this object from a stream of stored objects.- Parameters:
in
- read this.- Throws:
IOException
- thrown on error
-
writeExternal
Write the byte array out w/o compression- Parameters:
out
- write bytes here.- Throws:
IOException
- thrown on error
-
equals
private static boolean equals(byte[] a, int aOffset, int aLength, byte[] b, int bOffset, int bLength) Compare two byte arrays using value equality. Two byte arrays are equal if their length is identical and their contents are identical.
-