Package de.gsi.serializer.spi
Class BinarySerialiser
- java.lang.Object
-
- de.gsi.serializer.spi.BinarySerialiser
-
- All Implemented Interfaces:
IoSerialiser
public class BinarySerialiser extends java.lang.Object implements IoSerialiser
YaS -- Yet another Serialiser implementation Generic binary serialiser aimed at efficiently transferring data between server/client and in particular between Java/C++/web-based programs. For rationale see IoSerialiser.md description.There are two default backing buffer implementations (
FastByteBufferandByteBuffer), but can be extended/replaced with any other buffer is also possible provided it implements theIoBufferinterface.The default serialisable data types are defined in
DataTypeand include definitions for- primitives (byte, short, ..., float, double, and String), and
- arrays thereof (ie. byte[], short[], ..., float[], double[], and String[]), as well as
- complex objects implementing Collections (ie. Set, List, Queues), Enums or Maps.
OTHERsub-type. N.B. Multi-dimensional arrays are handled through one-dimensional striding arrays with the additional infos on number of dimensions and size for each individual dimension.raw-byte level protocol: above data items are stored as follows:
* header info: [ 4 bytes (int) = 0x0000002A] // magic number used as coarse protocol identifier - precise protocol refined by further fields below [ clear text serialiser name: String ] + // ie. "YaS" for 'Yet another Serialiser' [ 1 byte - major protocol version ] + [ 1 byte - minor protocol version ] + [ 1 byte - micro protocol version ] // micro: non API-changing bug fixes in implementation [ field header for 'start marker' ] [ 1 byte - uniqueType (0x00) ] * String: [ 4 bytes (int) - length (including termination) ][ n bytes based on ISO-8859 or UTF-8 encoding ] * field header: # start field header 'p0' [ 1 byte - uniqueType ] [ 4 bytes - field name hash code] // enables faster field matching [ 4 bytes - dataStart = n bytes until data start] // counted w.r.t. field header start [ 4 bytes - dataSize = n bytes for data size] [ String (ISO-8859) - field name ] // optional, if there are no field name hash code collisions N.B. following fields are optional (detectable if buffer position smaller than 'p0' + dataStart) [ String (UTF-8) - field unit ] [ String (UTF-8) - field in/out direction ] [ String (UTF-8) - field groups ] # start data = 'p0' + dataStart ... type specific and/or custom data serialisation # end data = 'p0' + dataStart + dataSize * primitives: [ field header for 'primitive type ID'] + [ 1-8 bytes depending on DataType ] * prim. arrays: [ array header for 'prim. type array ID'] + [ ]=1-8 bytes x N_i or more - array data depending on variable DataType ] * boxed arrays: as above but each element cast to corresponding primitive type * array header: [ field header (as above) ] + [4 bytes - number of dimensions N_d ] + [4 bytes x N_d - vector sizes for each dimension N_i ] * Collection[E]: * List[]: * Queue[E]: * Set[E]: [ array header (uniqueType= one of the Collection type IDs) ] + [ 1 byte - uniqueType of E ] + [ n bytes - array of E cast to primitive type and/or string ] * Map[K,V]: [ array header (uniqueType=0xCB) ] + [ 1 byte - uniqueType of K ] + [ 1 byte - uniqueType of V ] + [ n bytes - array of K cast to primitive type and/or string ] + [ n bytes - array of V cast to primitive type and/or string ] * OTHER [ field header - uniqueByte = 0xFD ] + [ 1 byte - uniqueType -- custom class type definition ] [ String (ISO-8859) - class type name ] [ n bytes - custom serialisation definition ] * start marker: [ field header for '0x00' ] // dataSize == # bytes until the corresponding end-marker start * end marker: [ field header for '0xFE' ] * nesting or sub-structures (ie. POJOs with sub-classes) can be achieved via: [ start marker - field name == nesting context1 ] [ start marker - field name == nesting context2 ] ... [ end marker - field name == nesting context2 (optional name) ] [ end marker - field name == nesting context1 (optional name) ] with T: being a generic list parameter outlined inDataTypeK: being a generic key parameter outlined inDataTypeV: being a generic value parameter outlined inDataType- Author:
- rstein
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringNO_SERIALISER_IMP_FOUNDstatic java.lang.StringPROTOCOL_ERROR_SERIALISER_LOOKUP_MUST_NOT_BE_NULLstatic java.lang.StringPROTOCOL_MISMATCH_N_ELEMENTS_HEADERstatic java.lang.StringPROTOCOL_NAMEstatic intVERSION_MAGIC_NUMBERstatic byteVERSION_MAJORstatic byteVERSION_MICROstatic byteVERSION_MINORstatic java.lang.StringVS_ARRAYstatic java.lang.StringVS_SHOULD_BE
-
Constructor Summary
Constructors Constructor Description BinarySerialiser(IoBuffer buffer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ProtocolInfocheckHeaderInfo()Reads and checks protocol header information.int[]getArraySizeDescriptor()booleangetBoolean()boolean[]getBooleanArray(boolean[] dst, int length)IoBuffergetBuffer()intgetBufferIncrements()bytegetByte()byte[]getByteArray(byte[] dst, int length)chargetChar()char[]getCharArray(char[] dst, int length)<E> java.util.Collection<E>getCollection(java.util.Collection<E> collection)<E> EgetCustomData(FieldSerialiser<E> serialiser)static DataTypegetDataType(byte byteValue)static bytegetDataType(DataType dataType)doublegetDouble()double[]getDoubleArray(double[] dst, int length)<E extends java.lang.Enum<E>>
java.lang.Enum<E>getEnum(java.lang.Enum<E> enumeration)java.lang.StringgetEnumTypeList()WireDataFieldDescriptiongetFieldHeader()floatgetFloat()float[]getFloatArray(float[] dst, int length)protected <E> E[]getGenericArrayAsBoxedPrimitive(DataType dataType)intgetInt()int[]getIntArray(int[] dst, int length)<E> java.util.List<E>getList(java.util.List<E> collection)longgetLong()long[]getLongArray(long[] dst, int length)<K,V,E>
java.util.Map<K,V>getMap(java.util.Map<K,V> map)WireDataFieldDescriptiongetParent()<E> java.util.Queue<E>getQueue(java.util.Queue<E> collection)java.util.function.BiFunction<java.lang.reflect.Type,java.lang.reflect.Type[],FieldSerialiser<java.lang.Object>>getSerialiserLookupFunction()<E> java.util.Set<E>getSet(java.util.Set<E> collection)shortgetShort()short[]getShortArray(short[] dst, int length)java.lang.StringgetString()java.lang.String[]getStringArray(java.lang.String[] dst, int length)java.lang.StringgetStringISO8859()booleanisEnforceSimpleStringEncoding()booleanisPutFieldMetaData()WireDataFieldDescriptionparseIoStream(boolean readHeader)voidparseIoStream(WireDataFieldDescription fieldRoot, int recursionDepth)voidput(FieldDescription fieldDescription, boolean value)voidput(FieldDescription fieldDescription, boolean[] values, int n)voidput(FieldDescription fieldDescription, boolean[] values, int[] dims)voidput(FieldDescription fieldDescription, byte value)voidput(FieldDescription fieldDescription, byte[] values, int n)voidput(FieldDescription fieldDescription, byte[] values, int[] dims)voidput(FieldDescription fieldDescription, char value)voidput(FieldDescription fieldDescription, char[] values, int n)voidput(FieldDescription fieldDescription, char[] values, int[] dims)voidput(FieldDescription fieldDescription, double value)voidput(FieldDescription fieldDescription, double[] values, int n)voidput(FieldDescription fieldDescription, double[] values, int[] dims)voidput(FieldDescription fieldDescription, float value)voidput(FieldDescription fieldDescription, float[] values, int n)voidput(FieldDescription fieldDescription, float[] values, int[] dims)voidput(FieldDescription fieldDescription, int value)voidput(FieldDescription fieldDescription, int[] values, int n)voidput(FieldDescription fieldDescription, int[] values, int[] dims)voidput(FieldDescription fieldDescription, long value)voidput(FieldDescription fieldDescription, long[] values, int n)voidput(FieldDescription fieldDescription, long[] values, int[] dims)voidput(FieldDescription fieldDescription, short value)voidput(FieldDescription fieldDescription, short[] values, int n)voidput(FieldDescription fieldDescription, short[] values, int[] dims)voidput(FieldDescription fieldDescription, java.lang.Enum<?> enumeration)voidput(FieldDescription fieldDescription, java.lang.String string)voidput(FieldDescription fieldDescription, java.lang.String[] values, int n)voidput(FieldDescription fieldDescription, java.lang.String[] values, int[] dims)<E> voidput(FieldDescription fieldDescription, java.util.Collection<E> collection, java.lang.reflect.Type valueType)<K,V,E>
voidput(FieldDescription fieldDescription, java.util.Map<K,V> map, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType)voidput(java.lang.String fieldName, boolean value)voidput(java.lang.String fieldName, boolean[] values, int n)voidput(java.lang.String fieldName, boolean[] values, int[] dims)voidput(java.lang.String fieldName, byte value)voidput(java.lang.String fieldName, byte[] values, int n)voidput(java.lang.String fieldName, byte[] values, int[] dims)voidput(java.lang.String fieldName, char value)voidput(java.lang.String fieldName, char[] values, int n)voidput(java.lang.String fieldName, char[] values, int[] dims)voidput(java.lang.String fieldName, double value)voidput(java.lang.String fieldName, double[] values, int n)voidput(java.lang.String fieldName, double[] values, int[] dims)voidput(java.lang.String fieldName, float value)voidput(java.lang.String fieldName, float[] values, int n)voidput(java.lang.String fieldName, float[] values, int[] dims)voidput(java.lang.String fieldName, int value)voidput(java.lang.String fieldName, int[] values, int n)voidput(java.lang.String fieldName, int[] values, int[] dims)voidput(java.lang.String fieldName, long value)voidput(java.lang.String fieldName, long[] values, int n)voidput(java.lang.String fieldName, long[] values, int[] dims)voidput(java.lang.String fieldName, short value)voidput(java.lang.String fieldName, short[] values, int n)voidput(java.lang.String fieldName, short[] values, int[] dims)voidput(java.lang.String fieldName, java.lang.Enum<?> enumeration)voidput(java.lang.String fieldName, java.lang.String string)voidput(java.lang.String fieldName, java.lang.String[] values, int n)voidput(java.lang.String fieldName, java.lang.String[] values, int[] dims)<E> voidput(java.lang.String fieldName, java.util.Collection<E> collection, java.lang.reflect.Type valueType)<K,V,E>
voidput(java.lang.String fieldName, java.util.Map<K,V> map, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType)intputArraySizeDescriptor(int n)intputArraySizeDescriptor(int[] dims)<E> WireDataFieldDescriptionputCustomData(FieldDescription fieldDescription, E rootObject, java.lang.Class<? extends E> type, FieldSerialiser<E> serialiser)voidputEndMarker(FieldDescription fieldDescription)WireDataFieldDescriptionputFieldHeader(FieldDescription fieldDescription)WireDataFieldDescriptionputFieldHeader(java.lang.String fieldName, DataType dataType)voidputGenericArrayAsPrimitive(DataType dataType, java.lang.Object[] data, int nToCopy)voidputHeaderInfo(FieldDescription... field)Adds header and version informationvoidputStartMarker(FieldDescription fieldDescription)voidsetBuffer(IoBuffer buffer)voidsetBufferIncrements(int bufferIncrements)voidsetEnforceSimpleStringEncoding(boolean state)voidsetFieldSerialiserLookupFunction(java.util.function.BiFunction<java.lang.reflect.Type,java.lang.reflect.Type[],FieldSerialiser<java.lang.Object>> serialiserLookupFunction)voidsetPutFieldMetaData(boolean putFieldMetaData)voidsetQueryFieldName(java.lang.String fieldName, int dataStartPosition)voidupdateDataEndMarker(WireDataFieldDescription fieldHeader)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.gsi.serializer.IoSerialiser
getBooleanArray, getBooleanArray, getByteArray, getByteArray, getCharArray, getCharArray, getDoubleArray, getDoubleArray, getFloatArray, getFloatArray, getIntArray, getIntArray, getLongArray, getLongArray, getShortArray, getShortArray, getStringArray, getStringArray, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put
-
-
-
-
Field Detail
-
VERSION_MAGIC_NUMBER
public static final int VERSION_MAGIC_NUMBER
- See Also:
- Constant Field Values
-
PROTOCOL_NAME
public static final java.lang.String PROTOCOL_NAME
- See Also:
- Constant Field Values
-
VERSION_MAJOR
public static final byte VERSION_MAJOR
- See Also:
- Constant Field Values
-
VERSION_MINOR
public static final byte VERSION_MINOR
- See Also:
- Constant Field Values
-
VERSION_MICRO
public static final byte VERSION_MICRO
- See Also:
- Constant Field Values
-
PROTOCOL_ERROR_SERIALISER_LOOKUP_MUST_NOT_BE_NULL
public static final java.lang.String PROTOCOL_ERROR_SERIALISER_LOOKUP_MUST_NOT_BE_NULL
- See Also:
- Constant Field Values
-
PROTOCOL_MISMATCH_N_ELEMENTS_HEADER
public static final java.lang.String PROTOCOL_MISMATCH_N_ELEMENTS_HEADER
- See Also:
- Constant Field Values
-
NO_SERIALISER_IMP_FOUND
public static final java.lang.String NO_SERIALISER_IMP_FOUND
- See Also:
- Constant Field Values
-
VS_ARRAY
public static final java.lang.String VS_ARRAY
- See Also:
- Constant Field Values
-
VS_SHOULD_BE
public static final java.lang.String VS_SHOULD_BE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BinarySerialiser
public BinarySerialiser(IoBuffer buffer)
- Parameters:
buffer- the backing IoBuffer (see e.g.FastByteBufferorByteBuffer
-
-
Method Detail
-
checkHeaderInfo
public ProtocolInfo checkHeaderInfo()
Description copied from interface:IoSerialiserReads and checks protocol header information.- Specified by:
checkHeaderInfoin interfaceIoSerialiser- Returns:
- ProtocolInfo info Object (extends FieldHeader)
-
setQueryFieldName
public void setQueryFieldName(java.lang.String fieldName, int dataStartPosition)- Specified by:
setQueryFieldNamein interfaceIoSerialiser
-
getArraySizeDescriptor
public int[] getArraySizeDescriptor()
- Specified by:
getArraySizeDescriptorin interfaceIoSerialiser
-
getBoolean
public boolean getBoolean()
- Specified by:
getBooleanin interfaceIoSerialiser
-
getBooleanArray
public boolean[] getBooleanArray(boolean[] dst, int length)- Specified by:
getBooleanArrayin interfaceIoSerialiser
-
getBuffer
public IoBuffer getBuffer()
- Specified by:
getBufferin interfaceIoSerialiser
-
setBuffer
public void setBuffer(IoBuffer buffer)
- Specified by:
setBufferin interfaceIoSerialiser
-
getBufferIncrements
public int getBufferIncrements()
-
setBufferIncrements
public void setBufferIncrements(int bufferIncrements)
-
getByte
public byte getByte()
- Specified by:
getBytein interfaceIoSerialiser
-
getByteArray
public byte[] getByteArray(byte[] dst, int length)- Specified by:
getByteArrayin interfaceIoSerialiser
-
getChar
public char getChar()
- Specified by:
getCharin interfaceIoSerialiser
-
getCharArray
public char[] getCharArray(char[] dst, int length)- Specified by:
getCharArrayin interfaceIoSerialiser
-
getCollection
public <E> java.util.Collection<E> getCollection(java.util.Collection<E> collection)
- Specified by:
getCollectionin interfaceIoSerialiser
-
getCustomData
public <E> E getCustomData(FieldSerialiser<E> serialiser)
- Specified by:
getCustomDatain interfaceIoSerialiser
-
getDouble
public double getDouble()
- Specified by:
getDoublein interfaceIoSerialiser
-
getDoubleArray
public double[] getDoubleArray(double[] dst, int length)- Specified by:
getDoubleArrayin interfaceIoSerialiser
-
getEnum
public <E extends java.lang.Enum<E>> java.lang.Enum<E> getEnum(java.lang.Enum<E> enumeration)
- Specified by:
getEnumin interfaceIoSerialiser
-
getEnumTypeList
public java.lang.String getEnumTypeList()
- Specified by:
getEnumTypeListin interfaceIoSerialiser
-
getFieldHeader
public WireDataFieldDescription getFieldHeader()
- Specified by:
getFieldHeaderin interfaceIoSerialiser
-
getFloat
public float getFloat()
- Specified by:
getFloatin interfaceIoSerialiser
-
getFloatArray
public float[] getFloatArray(float[] dst, int length)- Specified by:
getFloatArrayin interfaceIoSerialiser
-
getInt
public int getInt()
- Specified by:
getIntin interfaceIoSerialiser
-
getIntArray
public int[] getIntArray(int[] dst, int length)- Specified by:
getIntArrayin interfaceIoSerialiser
-
getList
public <E> java.util.List<E> getList(java.util.List<E> collection)
- Specified by:
getListin interfaceIoSerialiser
-
getLong
public long getLong()
- Specified by:
getLongin interfaceIoSerialiser
-
getLongArray
public long[] getLongArray(long[] dst, int length)- Specified by:
getLongArrayin interfaceIoSerialiser
-
getMap
public <K,V,E> java.util.Map<K,V> getMap(java.util.Map<K,V> map)
- Specified by:
getMapin interfaceIoSerialiser
-
getParent
public WireDataFieldDescription getParent()
-
getQueue
public <E> java.util.Queue<E> getQueue(java.util.Queue<E> collection)
- Specified by:
getQueuein interfaceIoSerialiser
-
getSet
public <E> java.util.Set<E> getSet(java.util.Set<E> collection)
- Specified by:
getSetin interfaceIoSerialiser
-
getShort
public short getShort()
- Specified by:
getShortin interfaceIoSerialiser
-
getShortArray
public short[] getShortArray(short[] dst, int length)- Specified by:
getShortArrayin interfaceIoSerialiser
-
getString
public java.lang.String getString()
- Specified by:
getStringin interfaceIoSerialiser
-
getStringArray
public java.lang.String[] getStringArray(java.lang.String[] dst, int length)- Specified by:
getStringArrayin interfaceIoSerialiser
-
getStringISO8859
public java.lang.String getStringISO8859()
- Specified by:
getStringISO8859in interfaceIoSerialiser
-
isEnforceSimpleStringEncoding
public boolean isEnforceSimpleStringEncoding()
- Returns:
truethe ISO-8859-1 character encoding is being enforced for data fields (better performance), otherwise UTF-8 is being used (more generic encoding)
-
setEnforceSimpleStringEncoding
public void setEnforceSimpleStringEncoding(boolean state)
- Parameters:
state-truethe ISO-8859-1 character encoding is being enforced for data fields (better performance), otherwise UTF-8 is being used (more generic encoding)
-
isPutFieldMetaData
public boolean isPutFieldMetaData()
- Specified by:
isPutFieldMetaDatain interfaceIoSerialiser
-
setPutFieldMetaData
public void setPutFieldMetaData(boolean putFieldMetaData)
- Specified by:
setPutFieldMetaDatain interfaceIoSerialiser
-
parseIoStream
public WireDataFieldDescription parseIoStream(boolean readHeader)
- Specified by:
parseIoStreamin interfaceIoSerialiser
-
parseIoStream
public void parseIoStream(WireDataFieldDescription fieldRoot, int recursionDepth)
-
put
public <E> void put(FieldDescription fieldDescription, java.util.Collection<E> collection, java.lang.reflect.Type valueType)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, java.lang.Enum<?> enumeration)
- Specified by:
putin interfaceIoSerialiser
-
put
public <K,V,E> void put(FieldDescription fieldDescription, java.util.Map<K,V> map, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType)
- Specified by:
putin interfaceIoSerialiser
-
put
public <E> void put(java.lang.String fieldName, java.util.Collection<E> collection, java.lang.reflect.Type valueType)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, java.lang.Enum<?> enumeration)- Specified by:
putin interfaceIoSerialiser
-
put
public <K,V,E> void put(java.lang.String fieldName, java.util.Map<K,V> map, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, boolean value)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, boolean[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, boolean[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, byte value)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, byte[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, byte[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, char value)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, char[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, char[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, double value)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, double[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, double[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, float value)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, float[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, float[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, int value)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, int[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, int[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, long value)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, long[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, long[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, short value)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, short[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, short[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, java.lang.String string)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, java.lang.String[] values, int n)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(FieldDescription fieldDescription, java.lang.String[] values, int[] dims)
- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, boolean value)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, boolean[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, boolean[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, byte value)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, byte[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, byte[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, char value)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, char[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, char[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, double value)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, double[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, double[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, float value)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, float[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, float[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, int value)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, int[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, int[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, long value)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, long[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, long[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, short value)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, short[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, short[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, java.lang.String string)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, java.lang.String[] values, int n)- Specified by:
putin interfaceIoSerialiser
-
put
public void put(java.lang.String fieldName, java.lang.String[] values, int[] dims)- Specified by:
putin interfaceIoSerialiser
-
putArraySizeDescriptor
public int putArraySizeDescriptor(int n)
- Specified by:
putArraySizeDescriptorin interfaceIoSerialiser
-
putArraySizeDescriptor
public int putArraySizeDescriptor(int[] dims)
- Specified by:
putArraySizeDescriptorin interfaceIoSerialiser
-
putCustomData
public <E> WireDataFieldDescription putCustomData(FieldDescription fieldDescription, E rootObject, java.lang.Class<? extends E> type, FieldSerialiser<E> serialiser)
- Specified by:
putCustomDatain interfaceIoSerialiser
-
putEndMarker
public void putEndMarker(FieldDescription fieldDescription)
- Specified by:
putEndMarkerin interfaceIoSerialiser
-
putFieldHeader
public WireDataFieldDescription putFieldHeader(FieldDescription fieldDescription)
- Specified by:
putFieldHeaderin interfaceIoSerialiser
-
putFieldHeader
public WireDataFieldDescription putFieldHeader(java.lang.String fieldName, DataType dataType)
- Specified by:
putFieldHeaderin interfaceIoSerialiser
-
putGenericArrayAsPrimitive
public void putGenericArrayAsPrimitive(DataType dataType, java.lang.Object[] data, int nToCopy)
-
putHeaderInfo
public void putHeaderInfo(FieldDescription... field)
Description copied from interface:IoSerialiserAdds header and version information- Specified by:
putHeaderInfoin interfaceIoSerialiser- Parameters:
field- optional FieldDescription (ie. to allow to attach MetaData to the start/stop marker)
-
putStartMarker
public void putStartMarker(FieldDescription fieldDescription)
- Specified by:
putStartMarkerin interfaceIoSerialiser
-
updateDataEndMarker
public void updateDataEndMarker(WireDataFieldDescription fieldHeader)
- Specified by:
updateDataEndMarkerin interfaceIoSerialiser
-
setFieldSerialiserLookupFunction
public void setFieldSerialiserLookupFunction(java.util.function.BiFunction<java.lang.reflect.Type,java.lang.reflect.Type[],FieldSerialiser<java.lang.Object>> serialiserLookupFunction)
- Specified by:
setFieldSerialiserLookupFunctionin interfaceIoSerialiser
-
getSerialiserLookupFunction
public java.util.function.BiFunction<java.lang.reflect.Type,java.lang.reflect.Type[],FieldSerialiser<java.lang.Object>> getSerialiserLookupFunction()
- Specified by:
getSerialiserLookupFunctionin interfaceIoSerialiser
-
getGenericArrayAsBoxedPrimitive
protected <E> E[] getGenericArrayAsBoxedPrimitive(DataType dataType)
-
getDataType
public static byte getDataType(DataType dataType)
-
getDataType
public static DataType getDataType(byte byteValue)
-
-