Package ch.systemsx.cisd.base.convert
Class NativeTaggedArray
- java.lang.Object
-
- ch.systemsx.cisd.base.convert.NativeTaggedArray
-
public class NativeTaggedArray extends java.lang.Object
A utility class that supports encoding and decoding of arrays of primitive number types to byte arrays such that the characteristics of the number type (float or integer, byte order, element size) and the dimensions are known and can be checked for correctness when converted back to the number type.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NativeTaggedArray.NativeArrayTag
A class to return the array encoding and dimensions of a native tagged array.
-
Constructor Summary
Constructors Constructor Description NativeTaggedArray()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static byte[]
toByteArray(double[] data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(double[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(float[] data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(float[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(int[] data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(int[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(long[] data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(long[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(short[] data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(short[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(MDDoubleArray data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(MDDoubleArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(MDFloatArray data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(MDFloatArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(MDIntArray data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(MDIntArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(MDLongArray data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(MDLongArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static byte[]
toByteArray(MDShortArray data)
Converts data into a tagged array in native byte order.static byte[]
toByteArray(MDShortArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.static NativeTaggedArray.NativeArrayTag
tryGetArrayTag(byte[] data)
Returns the array tag of the native tagged array encoded in data, ornull
, if data does not encode a native tagged array.static MDDoubleArray
tryToDoubleArray(byte[] data)
Returns the tagged array data as aMDDoubleArray
ornull
, if data is not a tagged (multi-dimensional) double array.static double[]
tryToDoubleArray1D(byte[] data)
Returns the tagged array data as a double array ornull
, if data is not a tagged 1D double array.static MDFloatArray
tryToFloatArray(byte[] data)
Returns the tagged array data as aMDFloatArray
ornull
, if data is not a tagged (multi-dimensional) float array.static float[]
tryToFloatArray1D(byte[] data)
Returns the tagged array data as a float array ornull
, if data is not a tagged 1D float array.static MDIntArray
tryToIntArray(byte[] data)
Returns the tagged array data as aMDIntArray
ornull
, if data is not a tagged (multi-dimensional) int array.static int[]
tryToIntArray1D(byte[] data)
Returns the tagged array data as an int array ornull
, if data is not a tagged 1D int array.static MDLongArray
tryToLongArray(byte[] data)
Returns the tagged array data as aMDLongArray
ornull
, if data is not a tagged (multi-dimensional) long array.static long[]
tryToLongArray1D(byte[] data)
Returns the tagged array data as a long array ornull
, if data is not a tagged 1D long array.static MDShortArray
tryToShortArray(byte[] data)
Returns the tagged array data as aMDShortArray
ornull
, if data is not a tagged (multi-dimensional) short array.static short[]
tryToShortArray1D(byte[] data)
Returns the tagged array data as a short array ornull
, if data is not a tagged 1D short array.
-
-
-
Method Detail
-
tryGetArrayTag
public static NativeTaggedArray.NativeArrayTag tryGetArrayTag(byte[] data)
Returns the array tag of the native tagged array encoded in data, ornull
, if data does not encode a native tagged array.
-
toByteArray
public static byte[] toByteArray(float[] data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(float[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
toByteArray
public static byte[] toByteArray(MDFloatArray data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(MDFloatArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
tryToFloatArray1D
public static float[] tryToFloatArray1D(byte[] data)
Returns the tagged array data as a float array ornull
, if data is not a tagged 1D float array.
-
tryToFloatArray
public static MDFloatArray tryToFloatArray(byte[] data)
Returns the tagged array data as aMDFloatArray
ornull
, if data is not a tagged (multi-dimensional) float array.
-
toByteArray
public static byte[] toByteArray(double[] data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(double[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
toByteArray
public static byte[] toByteArray(MDDoubleArray data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(MDDoubleArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
tryToDoubleArray1D
public static double[] tryToDoubleArray1D(byte[] data)
Returns the tagged array data as a double array ornull
, if data is not a tagged 1D double array.
-
tryToDoubleArray
public static MDDoubleArray tryToDoubleArray(byte[] data)
Returns the tagged array data as aMDDoubleArray
ornull
, if data is not a tagged (multi-dimensional) double array.
-
toByteArray
public static byte[] toByteArray(short[] data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(short[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
toByteArray
public static byte[] toByteArray(MDShortArray data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(MDShortArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
tryToShortArray1D
public static short[] tryToShortArray1D(byte[] data)
Returns the tagged array data as a short array ornull
, if data is not a tagged 1D short array.
-
tryToShortArray
public static MDShortArray tryToShortArray(byte[] data)
Returns the tagged array data as aMDShortArray
ornull
, if data is not a tagged (multi-dimensional) short array.
-
toByteArray
public static byte[] toByteArray(int[] data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(int[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
toByteArray
public static byte[] toByteArray(MDIntArray data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(MDIntArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
tryToIntArray1D
public static int[] tryToIntArray1D(byte[] data)
Returns the tagged array data as an int array ornull
, if data is not a tagged 1D int array.
-
tryToIntArray
public static MDIntArray tryToIntArray(byte[] data)
Returns the tagged array data as aMDIntArray
ornull
, if data is not a tagged (multi-dimensional) int array.
-
toByteArray
public static byte[] toByteArray(long[] data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(long[] data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
toByteArray
public static byte[] toByteArray(MDLongArray data)
Converts data into a tagged array in native byte order.
-
toByteArray
public static byte[] toByteArray(MDLongArray data, NativeData.ByteOrder byteOrder)
Converts data into a tagged array in given byte order.
-
tryToLongArray1D
public static long[] tryToLongArray1D(byte[] data)
Returns the tagged array data as a long array ornull
, if data is not a tagged 1D long array.
-
tryToLongArray
public static MDLongArray tryToLongArray(byte[] data)
Returns the tagged array data as aMDLongArray
ornull
, if data is not a tagged (multi-dimensional) long array.
-
-