Package 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 | Description
    --- | --- | ---
    `static ZipEightByteInteger` | `ZERO` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `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.
    `ZipEightByteInteger​(java.math.BigInteger value)` | Create instance from a number.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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​(long value)` | 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.
    `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`