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
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 arraystatic long
getLongValue(byte[] bytes, int offset)
Helper method to get the value as a Java long from eight bytes starting at given array offsetjava.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 arraystatic 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 offsetint
hashCode()
Override to make two instances with same value equal.java.lang.String
toString()
-
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 ZipEightByteIntegeroffset
- 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 bytesoffset
- 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 bytesoffset
- 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 classjava.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 classjava.lang.Object
- Returns:
- the hashCode of the value stored in the ZipEightByteInteger
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-