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.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods 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()
-
-
-
Constructor Detail
-
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 Detail
-
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
-
-