Package de.gsi.serializer.spi
Class JsonSerialiser
- java.lang.Object
-
- de.gsi.serializer.spi.JsonSerialiser
-
- All Implemented Interfaces:
IoSerialiser
public class JsonSerialiser extends java.lang.Object implements IoSerialiser
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringJSON_ROOTstatic java.lang.StringNOT_A_JSON_COMPATIBLE_PROTOCOL
-
Constructor Summary
Constructors Constructor Description JsonSerialiser(IoBuffer buffer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ProtocolInfocheckHeaderInfo()Reads and checks protocol header information.<T> TdeserialiseObject(T obj)int[]getArraySizeDescriptor()booleangetBoolean()boolean[]getBooleanArray(boolean[] dst, int length)IoBuffergetBuffer()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)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)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.lang.StringgetSerialisedString()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()booleanisPutFieldMetaData()WireDataFieldDescriptionparseIoStream(boolean readHeader)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 obj, java.lang.Class<? extends E> type, FieldSerialiser<E> serialiser)voidputEndMarker(FieldDescription fieldDescription)WireDataFieldDescriptionputFieldHeader(FieldDescription fieldDescription)WireDataFieldDescriptionputFieldHeader(java.lang.String fieldName, DataType dataType)voidputHeaderInfo(FieldDescription... field)Adds header and version informationvoidputStartMarker(FieldDescription fieldDescription)voidserialiseObject(java.lang.Object obj)voidsetBuffer(IoBuffer buffer)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
-
NOT_A_JSON_COMPATIBLE_PROTOCOL
public static final java.lang.String NOT_A_JSON_COMPATIBLE_PROTOCOL
- See Also:
- Constant Field Values
-
JSON_ROOT
public static final java.lang.String JSON_ROOT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JsonSerialiser
public JsonSerialiser(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)
-
deserialiseObject
public <T> T deserialiseObject(T obj)
-
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
-
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
-
getSerialisedString
public java.lang.String getSerialisedString()
-
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
-
isPutFieldMetaData
public boolean isPutFieldMetaData()
- Specified by:
isPutFieldMetaDatain interfaceIoSerialiser
-
parseIoStream
public WireDataFieldDescription parseIoStream(boolean readHeader)
- Specified by:
parseIoStreamin interfaceIoSerialiser
-
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 obj, 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
-
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
-
serialiseObject
public void serialiseObject(java.lang.Object obj)
-
setBuffer
public void setBuffer(IoBuffer buffer)
- Specified by:
setBufferin interfaceIoSerialiser
-
setPutFieldMetaData
public void setPutFieldMetaData(boolean putFieldMetaData)
- Specified by:
setPutFieldMetaDatain interfaceIoSerialiser
-
setQueryFieldName
public void setQueryFieldName(java.lang.String fieldName, int dataStartPosition)- Specified by:
setQueryFieldNamein 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
-
-