org.apache.derby.iapi.util
Class ByteArray

java.lang.Object
  extended byorg.apache.derby.iapi.util.ByteArray

public final class ByteArray
extends java.lang.Object

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
private  byte[] array
           
private  int length
           
private  int offset
           
 
Constructor Summary
ByteArray()
           
ByteArray(byte[] array)
           
ByteArray(byte[] array, int offset, int length)
          Create an instance of this class that wraps ths given array.
 
Method Summary
private static boolean equals(byte[] a, int aOffset, int aLength, byte[] b, int bOffset, int bLength)
          Compare two byte arrays using value equality.
 boolean equals(java.lang.Object other)
          Value equality for byte arrays.
 byte[] getArray()
           
 int getLength()
           
 int getOffset()
           
 int hashCode()
           
 void readExternal(java.io.ObjectInput in)
          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)
           
 void setLength(int newLength)
           
 void writeExternal(java.io.ObjectOutput out)
          Write the byte array out w/o compression
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

array

private byte[] array

offset

private int offset

length

private int length
Constructor Detail

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 Detail

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

public boolean equals(java.lang.Object other)
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

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException
Read this object from a stream of stored objects.

Parameters:
in - read this.
Throws:
java.io.IOException - thrown on error

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Write the byte array out w/o compression

Parameters:
out - write bytes here.
Throws:
java.io.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.



Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.