Class CompressedNumber
java.lang.Object
org.apache.derby.iapi.services.io.CompressedNumber
Static methods to write and read compressed forms of numbers
to DataOut and DataIn interfaces. Format written is platform
independent like the Data* interfaces and must remain fixed
once a product is shipped. If a different format is required
then write a new set of methods, e.g. writeInt2. The formats
defined by stored format identifiers are implicitly dependent
on these formats not changing.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final int
readInt
(byte[] data, int offset) static final int
Read an integer previously written by writeInt().static final int
readInt
(InputStream in) Read an integer previously written by writeInt().static final long
readLong
(byte[] data, int offset) static final long
Read a long previously written by writeLong().static final long
readLong
(InputStream in) Read a long previously written by writeLong().static final int
sizeInt
(int value) Return the number of bytes that would be written by a writeInt callstatic final int
sizeLong
(long value) static final int
writeInt
(DataOutput out, int value) Write a compressed integer only supporting signed values.static final int
writeInt
(OutputStream out, int value) Write a compressed integer directly to an OutputStream.static final int
writeLong
(DataOutput out, long value) Write a compressed long only supporting signed values.static final int
writeLong
(OutputStream out, long value) Write a compressed integer only supporting signed values.
-
Field Details
-
MAX_INT_STORED_SIZE
public static final int MAX_INT_STORED_SIZE- See Also:
-
MAX_LONG_STORED_SIZE
public static final int MAX_LONG_STORED_SIZE- See Also:
-
MAX_COMPRESSED_INT_ONE_BYTE
public static final int MAX_COMPRESSED_INT_ONE_BYTE- See Also:
-
MAX_COMPRESSED_INT_TWO_BYTES
public static final int MAX_COMPRESSED_INT_TWO_BYTES- See Also:
-
-
Constructor Details
-
CompressedNumber
public CompressedNumber()
-
-
Method Details
-
writeInt
Write a compressed integer only supporting signed values. Formats are (with x representing value bits):1 Byte - 00xxxxxx Represents the value <= 63 (0x3f) 2 Byte - 01xxxxxx xxxxxxxx Represents the value > 63 && <= 16383 (0x3fff) 4 byte - 1xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Represents the value > 16383 && <= MAX_INT
- Throws:
IOException
- value is negative or an exception was thrown by a method on out.
-
writeInt
Write a compressed integer directly to an OutputStream.- Throws:
IOException
- an exception was thrown by a method on in.
-
readInt
Read an integer previously written by writeInt().- Throws:
IOException
- an exception was thrown by a method on in.
-
readInt
Read an integer previously written by writeInt().- Throws:
IOException
- an exception was thrown by a method on in.
-
readInt
public static final int readInt(byte[] data, int offset) -
sizeInt
public static final int sizeInt(int value) Return the number of bytes that would be written by a writeInt call -
writeLong
Write a compressed long only supporting signed values. Formats are (with x representing value bits):2 byte - 00xxxxxx xxxxxxxx Represents the value <= 16383 (0x3fff) 4 byte - 01xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Represents the value > 16383 && <= 0x3fffffff 8 byte - 1xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Represents the value > 0x3fffffff && <= MAX_LONG
- Throws:
IOException
- value is negative or an exception was thrown by a method on out.
-
writeLong
Write a compressed integer only supporting signed values.- Throws:
IOException
- value is negative or an exception was thrown by a method on out.
-
readLong
Read a long previously written by writeLong().- Throws:
IOException
- an exception was thrown by a method on in.
-
readLong
Read a long previously written by writeLong().- Throws:
IOException
- an exception was thrown by a method on in.
-
readLong
public static final long readLong(byte[] data, int offset) -
sizeLong
public static final int sizeLong(long value)
-