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:
This class is immutable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final ZipEightByteInteger
    Constant for a value of zero.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ZipEightByteInteger(byte[] bytes)
    Constructs a new instance from bytes.
    ZipEightByteInteger(byte[] bytes, int offset)
    Constructs a new instance from the eight bytes starting at offset.
    ZipEightByteInteger(long value)
    Constructs a new instance from a number.
    Constructs a new instance from a number.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Override to make two instances with same value equal.
    byte[]
    Gets value as eight bytes in big-endian byte order.
    static byte[]
    getBytes(long value)
    Gets value as eight bytes in big-endian byte order.
    static byte[]
    Gets value as eight bytes in big-endian byte order.
    long
    Gets value as Java long.
    static long
    getLongValue(byte[] bytes)
    Gets the value as a Java long from an eight-byte array.
    static long
    getLongValue(byte[] bytes, int offset)
    Gets the value as a Java long from eight bytes starting at given array offset.
    Gets value as Java BigInteger.
    static BigInteger
    getValue(byte[] bytes)
    Gets the value as a Java long from an eight-byte array.
    static BigInteger
    getValue(byte[] bytes, int offset)
    Gets the value as a Java BigInteger from eight bytes starting at given array offset.
    int
    Override to make two instances with same value equal.
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • ZipEightByteInteger

      Constructs a new instance from a number.
      Parameters:
      value - the BigInteger to store as a ZipEightByteInteger
    • ZipEightByteInteger

      public ZipEightByteInteger(byte[] bytes)
      Constructs a new instance from bytes.
      Parameters:
      bytes - the bytes to store as a ZipEightByteInteger.
    • ZipEightByteInteger

      public ZipEightByteInteger(byte[] bytes, int offset)
      Constructs a new instance from the eight bytes starting at offset.
      Parameters:
      bytes - the bytes to store as a ZipEightByteInteger.
      offset - the offset to start.
    • ZipEightByteInteger

      public ZipEightByteInteger(long value)
      Constructs a new instance from a number.
      Parameters:
      value - the long to store as a ZipEightByteInteger.
  • Method Details

    • getBytes

      public static byte[] getBytes(BigInteger value)
      Gets 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(long value)
      Gets 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)
      Gets the value as a Java long from an eight-byte array.
      Parameters:
      bytes - the array of bytes.
      Returns:
      the corresponding Java long value.
    • getLongValue

      public static long getLongValue(byte[] bytes, int offset)
      Gets 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)
      Gets the value as a Java long from an eight-byte array.
      Parameters:
      bytes - the array of bytes.
      Returns:
      the corresponding Java BigInteger value.
    • getValue

      public static BigInteger getValue(byte[] bytes, int offset)
      Gets 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.
    • 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.
    • getBytes

      public byte[] getBytes()
      Gets value as eight bytes in big-endian byte order.
      Returns:
      value as eight bytes in big-endian order.
    • getLongValue

      public long getLongValue()
      Gets value as Java long.
      Returns:
      value as a long.
    • getValue

      public BigInteger getValue()
      Gets value as Java BigInteger.
      Returns:
      value as a BigInteger.
    • hashCode

      public int hashCode()
      Override to make two instances with same value equal.
      Overrides:
      hashCode in class Object
      Returns:
      the hash code of the value stored in the ZipEightByteInteger.
    • toString

      public String toString()
      Overrides:
      toString in class Object