org.apache.tools.zip
Class ZipLong

java.lang.Object
  extended by org.apache.tools.zip.ZipLong
All Implemented Interfaces:
java.lang.Cloneable

public final class ZipLong
extends java.lang.Object
implements java.lang.Cloneable

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


Constructor Summary
ZipLong(byte[] bytes)
          Create instance from bytes.
ZipLong(byte[] bytes, int offset)
          Create instance from the four bytes starting at offset.
ZipLong(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 four bytes in big endian byte order.
static byte[] getBytes(long value)
          Get value as four bytes in big endian byte order.
 long getValue()
          Get value as Java long.
static long getValue(byte[] bytes)
          Helper method to get the value as a Java long from a four-byte array
static long getValue(byte[] bytes, int offset)
          Helper method to get the value as a Java long from four bytes starting at given array offset
 int hashCode()
          Override to make two instances with same value equal.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZipLong

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

Parameters:
value - the long to store as a ZipLong
Since:
1.1

ZipLong

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

Parameters:
bytes - the bytes to store as a ZipLong
Since:
1.1

ZipLong

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

Parameters:
bytes - the bytes to store as a ZipLong
offset - the offset to start
Since:
1.1
Method Detail

getBytes

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

Returns:
value as four bytes in big endian order
Since:
1.1

getValue

public long getValue()
Get value as Java long.

Returns:
value as a long
Since:
1.1

getBytes

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

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

getValue

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

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

getValue

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

Parameters:
bytes - the array of bytes
Returns:
the correspondanding Java long 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
Since:
1.1

hashCode

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

Overrides:
hashCode in class java.lang.Object
Returns:
the value stored in the ZipLong
Since:
1.1