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

Fields
`static ZipEightByteInteger` `ZERO`

### Constructor Summary

Constructors
Constructor and Description
`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

Methods
`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`