org.apache.tools.zip

## Class ZipLong

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static ZipLong` | `CFH_SIG` Central File Header Signature
    `static ZipLong` | `DD_SIG` Data Descriptor signature
    `static ZipLong` | `LFH_SIG` Local File Header Signature

  - ### Constructor Summary

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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()`
    `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.
    `void` | `putLong(byte[] buf, int offset)`
    `static void` | `putLong(long value, byte[] buf, int offset)` put the value as four bytes in big endian byte order.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### CFH_SIG

          public static final ZipLong CFH_SIG

      Central File Header Signature

    - #### LFH_SIG

          public static final ZipLong LFH_SIG

      Local File Header Signature

    - #### DD_SIG

          public static final ZipLong DD_SIG

      Data Descriptor signature

  - ### 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

    - #### putLong

          public static void putLong(long value,
                     byte[] buf,
                     int offset)

      put the value as four bytes in big endian byte order.
      Parameters:
        `value` - the Java long to convert to bytes
        `buf` - the output buffer
        `offset` - The offset within the output buffer of the first byte to be written. must be non-negative and no larger than `buf.length-4`

    - #### putLong

          public void putLong(byte[] buf,
                     int offset)

    - #### 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 corresponding 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 corresponding 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

    - #### clone

          public java.lang.Object clone()

      Overrides:
        `clone` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`