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

### ZERO

public static final ZipEightByteInteger ZERO

## 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`