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

    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 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​(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 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 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