org.apache.tools.zip
Class ZipEightByteInteger

java.lang.Object
  extended by org.apache.tools.zip.ZipEightByteInteger

public final class ZipEightByteInteger
extends java.lang.Object

Utility class that represents an eight byte integer with conversion rules for the big endian byte order of ZIP files.


Field Summary
static ZipEightByteInteger ZERO
           
 
Constructor Summary
ZipEightByteInteger(java.math.BigInteger value)
          Create instance from a number.
ZipEightByteInteger(byte[] bytes)
          Create instance from bytes.
ZipEightByteInteger(byte[] bytes, int offset)
          Create instance from the eight bytes starting at offset.
ZipEightByteInteger(long value)
          Create instance from a number.
 
Method Summary
 boolean equals(java.lang.Object o)
          Override to make two instances with same value equal.
 byte[] getBytes()
          Get value as eight bytes in big endian byte order.
static byte[] getBytes(java.math.BigInteger value)
          Get value as eight bytes in big endian byte order.
static byte[] getBytes(long value)
          Get value as eight bytes in big endian byte order.
 long getLongValue()
          Get value as Java long.
static long getLongValue(byte[] bytes)
          Helper method to get the value as a Java long from an eight-byte array
static long getLongValue(byte[] bytes, int offset)
          Helper method to get the value as a Java long from eight bytes starting at given array offset
 java.math.BigInteger getValue()
          Get value as Java long.
static java.math.BigInteger getValue(byte[] bytes)
          Helper method to get the value as a Java long from an eight-byte array
static java.math.BigInteger getValue(byte[] bytes, int offset)
          Helper method to get the value as a Java BigInteger from eight bytes starting at given array offset
 int hashCode()
          Override to make two instances with same value equal.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ZERO

public static final ZipEightByteInteger ZERO
Constructor Detail

ZipEightByteInteger

public ZipEightByteInteger(long value)
Create instance from a number.

Parameters:
value - the long to store as a ZipEightByteInteger

ZipEightByteInteger

public ZipEightByteInteger(java.math.BigInteger value)
Create instance from a number.

Parameters:
value - the BigInteger to store as a ZipEightByteInteger

ZipEightByteInteger

public ZipEightByteInteger(byte[] bytes)
Create instance from bytes.

Parameters:
bytes - the bytes to store as a ZipEightByteInteger

ZipEightByteInteger

public ZipEightByteInteger(byte[] bytes,
                           int offset)
Create instance from the eight bytes starting at offset.

Parameters:
bytes - the bytes to store as a ZipEightByteInteger
offset - the offset to start
Method Detail

getBytes

public byte[] getBytes()
Get value as eight bytes in big endian byte order.

Returns:
value as eight bytes in big endian order

getLongValue

public long getLongValue()
Get value as Java long.

Returns:
value as a long

getValue

public java.math.BigInteger getValue()
Get value as Java long.

Returns:
value as a long

getBytes

public static byte[] getBytes(long value)
Get value as eight bytes in big endian byte order.

Parameters:
value - the value to convert
Returns:
value as eight bytes in big endian byte order

getBytes

public static byte[] getBytes(java.math.BigInteger value)
Get value as eight bytes in big endian byte order.

Parameters:
value - the value to convert
Returns:
value as eight bytes in big endian byte order

getLongValue

public static long getLongValue(byte[] bytes,
                                int offset)
Helper method to get the value as a Java long from eight bytes starting at given array offset

Parameters:
bytes - the array of bytes
offset - the offset to start
Returns:
the corresponding Java long value

getValue

public static java.math.BigInteger getValue(byte[] bytes,
                                            int offset)
Helper method to get the value as a Java BigInteger from eight bytes starting at given array offset

Parameters:
bytes - the array of bytes
offset - the offset to start
Returns:
the corresponding Java BigInteger value

getLongValue

public static long getLongValue(byte[] bytes)
Helper method to get the value as a Java long from an eight-byte array

Parameters:
bytes - the array of bytes
Returns:
the corresponding Java long value

getValue

public static java.math.BigInteger getValue(byte[] bytes)
Helper method to get the value as a Java long from an eight-byte array

Parameters:
bytes - the array of bytes
Returns:
the corresponding Java BigInteger value

equals

public boolean equals(java.lang.Object o)
Override to make two instances with same value equal.

Overrides:
equals in class java.lang.Object
Parameters:
o - an object to compare
Returns:
true if the objects are equal

hashCode

public int hashCode()
Override to make two instances with same value equal.

Overrides:
hashCode in class java.lang.Object
Returns:
the hashCode of the value stored in the ZipEightByteInteger

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object