Package 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
-
Constructor Summary
-
Method Summary
Modifier and Type Method 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 arraystatic long
getValue(byte[] bytes, int offset)
Helper method to get the value as a Java long from four bytes starting at given array offsetint
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()
-
Field Details
-
Constructor Details
-
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 ZipLongoffset
- the offset to start- Since:
- 1.1
-
-
Method Details
-
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 bytesbuf
- the output bufferoffset
- The offset within the output buffer of the first byte to be written. must be non-negative and no larger thanbuf.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 bytesoffset
- 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 classjava.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 classjava.lang.Object
- Returns:
- the value stored in the ZipLong
- Since:
- 1.1
-
clone
public java.lang.Object clone()- Overrides:
clone
in classjava.lang.Object
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-