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.


Built on Mon 2007-06-04 09:58:47+0400, from revision ???

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