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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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`