Class ZipEightByteInteger

java.lang.Object
org.apache.commons.compress.archivers.zip.ZipEightByteInteger
All Implemented Interfaces:
Serializable

public final class ZipEightByteInteger extends Object implements Serializable
Utility class that represents an eight byte integer with conversion rules for the little endian byte order of ZIP files.
Since:
1.2
See Also:
  • Field Details

  • Constructor Details

    • ZipEightByteInteger

      public ZipEightByteInteger(long value)
      Create instance from a number.
      Parameters:
      value - the long to store as a ZipEightByteInteger
    • ZipEightByteInteger

      public ZipEightByteInteger(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 Details

    • 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 BigInteger getValue()
      Get value as Java BigInteger.
      Returns:
      value as a BigInteger
    • 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(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 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 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(Object o)
      Override to make two instances with same value equal.
      Overrides:
      equals in class 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 Object
      Returns:
      the hashCode of the value stored in the ZipEightByteInteger
    • toString

      public String toString()
      Overrides:
      toString in class Object