Class SerializerUtils
java.lang.Object
net.mtrop.doom.struct.io.SerializerUtils
Contains utility methods for serializing values.
- Author:
- Matthew Tropiano
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final booleanstatic final booleanstatic final intThe size of a byte in bytes (This should always be 1, or Sun screwed up).static final intThe size of an int in bytes.static final intThe size of a long in bytes.static final intThe size of a short in bytes. -
Method Summary
Modifier and TypeMethodDescriptionstatic intbooleansToInt(boolean... bool) Converts a series of boolean values to bits, going from least-significant to most-significant.static doublebytesToDouble(byte[] b, int offset, boolean endianMode) Converts a series of bytes to a 64-bit float.static floatbytesToFloat(byte[] b, int offset, boolean endianMode) Converts a series of bytes to a 32-bit float.static intbytesToInt(byte[] b, int offset, boolean endianMode) Converts a series of bytes to an integer.static longbytesToLong(byte[] b, int offset, boolean endianMode) Converts a series of bytes to a long.static shortbytesToShort(byte[] b, int offset, boolean endianMode) Converts a series of bytes to a short.static intdoubleToBytes(double d, boolean endianMode, byte[] out, int offset) Converts a double to a series of bytes.static intfloatToBytes(float f, boolean endianMode, byte[] out, int offset) Converts a float to a series of bytes.static intintToBytes(int i, boolean endianMode, byte[] out, int offset) Converts an integer to a series of bytes.static intlongToBytes(long l, boolean endianMode, byte[] out, int offset) Converts a long to a series of bytes.static intshortToBytes(short s, boolean endianMode, byte[] out, int offset) Converts a short to a series of bytes.
-
Field Details
-
SIZEOF_INT
public static final int SIZEOF_INTThe size of an int in bytes.- See Also:
-
SIZEOF_BYTE
public static final int SIZEOF_BYTEThe size of a byte in bytes (This should always be 1, or Sun screwed up).- See Also:
-
SIZEOF_SHORT
public static final int SIZEOF_SHORTThe size of a short in bytes.- See Also:
-
SIZEOF_LONG
public static final int SIZEOF_LONGThe size of a long in bytes.- See Also:
-
LITTLE_ENDIAN
public static final boolean LITTLE_ENDIAN- See Also:
-
BIG_ENDIAN
public static final boolean BIG_ENDIAN- See Also:
-
-
Method Details
-
bytesToShort
public static short bytesToShort(byte[] b, int offset, boolean endianMode) Converts a series of bytes to a short.- Parameters:
b- the bytes to convert.offset- the offset into the byte array.endianMode- the endian mode of the bytes.- Returns:
- the resultant value.
-
bytesToInt
public static int bytesToInt(byte[] b, int offset, boolean endianMode) Converts a series of bytes to an integer.- Parameters:
b- the bytes to convert.offset- the offset into the byte array.endianMode- the endian mode of the bytes.- Returns:
- the resultant value.
-
bytesToLong
public static long bytesToLong(byte[] b, int offset, boolean endianMode) Converts a series of bytes to a long.- Parameters:
b- the bytes to convert.offset- the offset into the byte array.endianMode- the endian mode of the bytes.- Returns:
- the resultant value.
-
bytesToFloat
public static float bytesToFloat(byte[] b, int offset, boolean endianMode) Converts a series of bytes to a 32-bit float.- Parameters:
b- the bytes to convert.offset- the offset into the byte array.endianMode- the endian mode of the bytes.- Returns:
- the resultant value.
-
bytesToDouble
public static double bytesToDouble(byte[] b, int offset, boolean endianMode) Converts a series of bytes to a 64-bit float.- Parameters:
b- the bytes to convert.offset- the offset into the byte array.endianMode- the endian mode of the bytes.- Returns:
- the resultant value.
-
shortToBytes
public static int shortToBytes(short s, boolean endianMode, byte[] out, int offset) Converts a short to a series of bytes.- Parameters:
s- the short to convert.endianMode- the endian mode of the bytes.out- the output array.offset- the offset into the array to write.- Returns:
- the next array offset after the write.
-
intToBytes
public static int intToBytes(int i, boolean endianMode, byte[] out, int offset) Converts an integer to a series of bytes.- Parameters:
i- the integer to convert.endianMode- the endian mode of the bytes.out- the output array.offset- the offset into the array to write.- Returns:
- the next array offset after the write.
-
longToBytes
public static int longToBytes(long l, boolean endianMode, byte[] out, int offset) Converts a long to a series of bytes.- Parameters:
l- the long to convert.endianMode- the endian mode of the bytes.out- the output array.offset- the offset into the array to write.- Returns:
- the next array offset after the write.
-
floatToBytes
public static int floatToBytes(float f, boolean endianMode, byte[] out, int offset) Converts a float to a series of bytes.- Parameters:
f- the float to convert.endianMode- the endian mode of the bytes.out- the output array.offset- the offset into the array to write.- Returns:
- the next array offset after the write.
-
doubleToBytes
public static int doubleToBytes(double d, boolean endianMode, byte[] out, int offset) Converts a double to a series of bytes.- Parameters:
d- the double to convert.endianMode- the endian mode of the bytes.out- the output array.offset- the offset into the array to write.- Returns:
- the next array offset after the write.
-
booleansToInt
public static int booleansToInt(boolean... bool) Converts a series of boolean values to bits, going from least-significant to most-significant. TRUE booleans set the bit, FALSE ones do not.- Parameters:
bool- list of booleans. cannot exceed 32.- Returns:
- the resultant bitstring in an integer.
-