## org.apache.tools.zip
Class ZipEightByteInteger

    java.lang.Object
      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`