|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.h2.mvstore.DataUtils
public class DataUtils
Utility methods
Nested Class Summary | |
---|---|
static class |
DataUtils.MapEntry<K,V>
An entry of a map. |
Field Summary | |
---|---|
static int |
COMPRESSED_VAR_INT_MAX
The maximum integer that needs less space when using variable size encoding (only 3 bytes instead of 4). |
static long |
COMPRESSED_VAR_LONG_MAX
The maximum long that needs less space when using variable size encoding (only 7 bytes instead of 8). |
static int |
ERROR_CLOSED
The object is already closed. |
static int |
ERROR_FILE_CORRUPT
The file is corrupt or (for encrypted files) the encryption key is wrong. |
static int |
ERROR_FILE_LOCKED
The file is locked. |
static int |
ERROR_INTERNAL
An internal error occurred. |
static int |
ERROR_READING_FAILED
An error occurred while reading from the file. |
static int |
ERROR_SERIALIZATION
An error occurred when serializing or de-serializing. |
static int |
ERROR_TRANSACTION_CORRUPT
The transaction store is corrupt. |
static int |
ERROR_TRANSACTION_LOCKED
An entry is still locked by another transaction. |
static int |
ERROR_TRANSACTION_STILL_OPEN
A very old transaction is still open. |
static int |
ERROR_UNSUPPORTED_FORMAT
The file format is not supported. |
static int |
ERROR_WRITING_FAILED
An error occurred when trying to write to the file. |
static java.nio.charset.Charset |
LATIN
The ISO Latin character encoding format. |
static int |
MAX_VAR_INT_LEN
The maximum length of a variable size int. |
static int |
MAX_VAR_LONG_LEN
The maximum length of a variable size long. |
static int |
PAGE_COMPRESSED
The bit mask for compressed pages (compression level fast). |
static int |
PAGE_COMPRESSED_HIGH
The bit mask for compressed pages (compression level high). |
static int |
PAGE_LARGE
The marker size of a very large page. |
static int |
PAGE_MEMORY
The estimated number of bytes used per page object. |
static int |
PAGE_MEMORY_CHILD
The estimated number of bytes used per child entry. |
static int |
PAGE_TYPE_LEAF
The type for leaf page. |
static int |
PAGE_TYPE_NODE
The type for node page. |
static java.nio.charset.Charset |
UTF8
The UTF-8 character encoding format. |
Constructor Summary | |
---|---|
DataUtils()
|
Method Summary | |
---|---|
static java.lang.StringBuilder |
appendMap(java.lang.StringBuilder buff,
java.util.HashMap<java.lang.String,?> map)
Append a map to the string builder, sorted by key. |
static void |
appendMap(java.lang.StringBuilder buff,
java.lang.String key,
java.lang.Object value)
Append a key-value pair to the string builder. |
static void |
checkArgument(boolean test,
java.lang.String message,
java.lang.Object... arguments)
Throw an IllegalArgumentException if the argument is invalid. |
static void |
copyExcept(java.lang.Object src,
java.lang.Object dst,
int oldSize,
int removeIndex)
Copy the elements of an array, and remove one element. |
static void |
copyWithGap(java.lang.Object src,
java.lang.Object dst,
int oldSize,
int gapIndex)
Copy the elements of an array, with a gap. |
static int |
encodeLength(int len)
Convert the length to a length code 0..31. |
static java.nio.ByteBuffer |
ensureCapacity(java.nio.ByteBuffer buff,
int len)
Ensure the byte buffer has the given capacity, plus 1 KB. |
static short |
getCheckValue(int x)
Calculate a check value for the given integer. |
static int |
getErrorCode(java.lang.String m)
Get the error code from an exception message. |
static int |
getFletcher32(byte[] bytes,
int length)
Calculate the Fletcher32 checksum. |
static int |
getPageChunkId(long pos)
Get the chunk id from the position. |
static int |
getPageMaxLength(long pos)
Get the maximum length for the given code. |
static int |
getPageOffset(long pos)
Get the offset from the position. |
static long |
getPagePos(int chunkId,
int offset,
int length,
int type)
Get the position of this page. |
static int |
getPageType(long pos)
Get the page type from the position. |
static int |
getVarIntLen(int x)
Get the length of the variable size int. |
static int |
getVarLongLen(long x)
Get the length of the variable size long. |
static byte[] |
newBytes(int len)
Create an array of bytes with the given size. |
static java.util.ConcurrentModificationException |
newConcurrentModificationException(java.lang.String message)
Create a new ConcurrentModificationException. |
static java.lang.IllegalArgumentException |
newIllegalArgumentException(java.lang.String message,
java.lang.Object... arguments)
Create a new IllegalArgumentException. |
static java.lang.IllegalStateException |
newIllegalStateException(int errorCode,
java.lang.String message,
java.lang.Object... arguments)
Create a new IllegalStateException. |
static java.lang.UnsupportedOperationException |
newUnsupportedOperationException(java.lang.String message)
Create a new UnsupportedOperationException. |
static int |
parseHexInt(java.lang.String x)
Parse an unsigned, hex long. |
static long |
parseHexLong(java.lang.String x)
Parse an unsigned, hex long. |
static java.util.HashMap<java.lang.String,java.lang.String> |
parseMap(java.lang.String s)
Parse a key-value pair list. |
static void |
readFully(java.nio.channels.FileChannel file,
long pos,
java.nio.ByteBuffer dst)
Read from a file channel until the buffer is full. |
static int |
readHexInt(java.util.HashMap<java.lang.String,? extends java.lang.Object> map,
java.lang.String key,
int defaultValue)
Read a hex int value from a map. |
static long |
readHexLong(java.util.HashMap<java.lang.String,? extends java.lang.Object> map,
java.lang.String key,
long defaultValue)
Read a hex long value from a map. |
static java.lang.String |
readString(java.nio.ByteBuffer buff,
int len)
Read a string. |
static int |
readVarInt(java.nio.ByteBuffer buff)
Read a variable size int. |
static long |
readVarLong(java.nio.ByteBuffer buff)
Read a variable size long. |
static void |
writeFully(java.nio.channels.FileChannel file,
long pos,
java.nio.ByteBuffer src)
Write to a file channel. |
static java.nio.ByteBuffer |
writeStringData(java.nio.ByteBuffer buff,
java.lang.String s,
int len)
Write characters from a string (without the length). |
static void |
writeVarInt(java.nio.ByteBuffer buff,
int x)
Write a variable size int. |
static void |
writeVarInt(java.io.OutputStream out,
int x)
Write a variable size int. |
static void |
writeVarLong(java.nio.ByteBuffer buff,
long x)
Write a variable size long. |
static void |
writeVarLong(java.io.OutputStream out,
long x)
Write a variable size long. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int ERROR_READING_FAILED
public static final int ERROR_WRITING_FAILED
public static final int ERROR_INTERNAL
public static final int ERROR_CLOSED
public static final int ERROR_UNSUPPORTED_FORMAT
public static final int ERROR_FILE_CORRUPT
public static final int ERROR_FILE_LOCKED
public static final int ERROR_SERIALIZATION
public static final int ERROR_TRANSACTION_CORRUPT
public static final int ERROR_TRANSACTION_LOCKED
public static final int ERROR_TRANSACTION_STILL_OPEN
public static final int PAGE_TYPE_LEAF
public static final int PAGE_TYPE_NODE
public static final int PAGE_COMPRESSED
public static final int PAGE_COMPRESSED_HIGH
public static final int MAX_VAR_INT_LEN
public static final int MAX_VAR_LONG_LEN
public static final int COMPRESSED_VAR_INT_MAX
public static final long COMPRESSED_VAR_LONG_MAX
public static final int PAGE_MEMORY
public static final int PAGE_MEMORY_CHILD
public static final int PAGE_LARGE
public static final java.nio.charset.Charset UTF8
public static final java.nio.charset.Charset LATIN
Constructor Detail |
---|
public DataUtils()
Method Detail |
---|
public static int getVarIntLen(int x)
x
- the value
public static int getVarLongLen(long x)
x
- the value
public static int readVarInt(java.nio.ByteBuffer buff)
buff
- the source buffer
public static long readVarLong(java.nio.ByteBuffer buff)
buff
- the source buffer
public static void writeVarInt(java.io.OutputStream out, int x) throws java.io.IOException
out
- the output streamx
- the value
java.io.IOException
public static void writeVarInt(java.nio.ByteBuffer buff, int x)
buff
- the source bufferx
- the valuepublic static java.nio.ByteBuffer writeStringData(java.nio.ByteBuffer buff, java.lang.String s, int len)
buff
- the target buffers
- the stringlen
- the number of characters
public static java.lang.String readString(java.nio.ByteBuffer buff, int len)
buff
- the source bufferlen
- the number of characters
public static void writeVarLong(java.nio.ByteBuffer buff, long x)
buff
- the target bufferx
- the valuepublic static void writeVarLong(java.io.OutputStream out, long x) throws java.io.IOException
out
- the output streamx
- the value
java.io.IOException
public static void copyWithGap(java.lang.Object src, java.lang.Object dst, int oldSize, int gapIndex)
src
- the source arraydst
- the target arrayoldSize
- the size of the old arraygapIndex
- the index of the gappublic static void copyExcept(java.lang.Object src, java.lang.Object dst, int oldSize, int removeIndex)
src
- the source arraydst
- the target arrayoldSize
- the size of the old arrayremoveIndex
- the index of the entry to removepublic static void readFully(java.nio.channels.FileChannel file, long pos, java.nio.ByteBuffer dst)
file
- the file channelpos
- the absolute position within the filedst
- the byte buffer
java.lang.IllegalStateException
- if some data could not be readpublic static void writeFully(java.nio.channels.FileChannel file, long pos, java.nio.ByteBuffer src)
file
- the file channelpos
- the absolute position within the filesrc
- the source bufferpublic static int encodeLength(int len)
len
- the length
public static int getPageChunkId(long pos)
pos
- the position
public static int getPageMaxLength(long pos)
pos
- the position
public static int getPageOffset(long pos)
pos
- the position
public static int getPageType(long pos)
pos
- the position
public static long getPagePos(int chunkId, int offset, int length, int type)
chunkId
- the chunk idoffset
- the offsetlength
- the lengthtype
- the page type (1 for node, 0 for leaf)
public static short getCheckValue(int x)
x
- the value
public static java.lang.StringBuilder appendMap(java.lang.StringBuilder buff, java.util.HashMap<java.lang.String,?> map)
buff
- the target buffermap
- the map
public static void appendMap(java.lang.StringBuilder buff, java.lang.String key, java.lang.Object value)
buff
- the target bufferkey
- the keyvalue
- the valuepublic static java.util.HashMap<java.lang.String,java.lang.String> parseMap(java.lang.String s)
s
- the list
java.lang.IllegalStateException
- if parsing failedpublic static int getFletcher32(byte[] bytes, int length)
bytes
- the byteslength
- the message length (if odd, 0 is appended)
public static void checkArgument(boolean test, java.lang.String message, java.lang.Object... arguments)
test
- true if the argument is validmessage
- the messagearguments
- the arguments
java.lang.IllegalArgumentException
- if the argument is invalidpublic static java.lang.IllegalArgumentException newIllegalArgumentException(java.lang.String message, java.lang.Object... arguments)
message
- the messagearguments
- the arguments
public static java.lang.UnsupportedOperationException newUnsupportedOperationException(java.lang.String message)
message
- the message
public static java.util.ConcurrentModificationException newConcurrentModificationException(java.lang.String message)
message
- the message
public static java.lang.IllegalStateException newIllegalStateException(int errorCode, java.lang.String message, java.lang.Object... arguments)
errorCode
- the error codemessage
- the messagearguments
- the arguments
public static int getErrorCode(java.lang.String m)
m
- the message
public static byte[] newBytes(int len)
This method should be used if the size of the array is user defined, or stored in a file, so wrong size data can be distinguished from regular out-of-memory.
len
- the number of bytes requested
java.lang.OutOfMemoryError
- if the allocation was too largepublic static java.nio.ByteBuffer ensureCapacity(java.nio.ByteBuffer buff, int len)
buff
- the byte bufferlen
- the minimum remaining capacity
public static long readHexLong(java.util.HashMap<java.lang.String,? extends java.lang.Object> map, java.lang.String key, long defaultValue)
map
- the mapkey
- the keydefaultValue
- if the value is null
java.lang.IllegalStateException
- if parsing failspublic static long parseHexLong(java.lang.String x)
x
- the string
java.lang.IllegalStateException
- if parsing failspublic static int parseHexInt(java.lang.String x)
x
- the string
java.lang.IllegalStateException
- if parsing failspublic static int readHexInt(java.util.HashMap<java.lang.String,? extends java.lang.Object> map, java.lang.String key, int defaultValue)
map
- the mapkey
- the keydefaultValue
- if the value is null
java.lang.IllegalStateException
- if parsing fails
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |