Class MapSerialiser
- java.lang.Object
-
- uk.gov.gchq.gaffer.serialisation.implementation.MapSerialiser
-
- All Implemented Interfaces:
Serializable,Serialiser<Map,byte[]>,ToBytesSerialiser<Map>
public class MapSerialiser extends Object implements ToBytesSerialiser<Map>
This class is used to serialise and deserialiseMaps.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface uk.gov.gchq.gaffer.serialisation.ToBytesSerialiser
EMPTY_BYTES
-
-
Constructor Summary
Constructors Constructor Description MapSerialiser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanHandle(Class clazz)Check whether the serialiser can serialise a particular class.Map<? extends Object,? extends Object>deserialise(byte[] bytes)Deserialise an array of bytes into the original object.Map<? extends Object,? extends Object>deserialiseEmpty()Handle an empty byte array and reconstruct an appropriate representation in T form.booleanequals(Object obj)ToBytesSerialisergetKeySerialiser()StringgetKeySerialiserClassString()Class<? extends Map>getMapClass()StringgetMapClassString()ToBytesSerialisergetValueSerialiser()StringgetValueSerialiserClassString()inthashCode()booleanisConsistent()Indicates whether the serialisation process produces a predictable, consistent OUTPUT, from a given INPUT, ie the same object should always serialise in the same way for this to be true.booleanpreservesObjectOrdering()Indicates whether the serialisation process preserves the ordering of the T, i.e.byte[]serialise(Map object)Serialise some object and returns the raw bytes of the serialised form.byte[]serialiseNull()Handle an incoming null value and generate an appropriate byte array representation.voidsetKeySerialiser(ToBytesSerialiser keySerialiser)voidsetKeySerialiserClassString(String classType)voidsetMapClass(Class<? extends Map> mapClass)voidsetMapClassString(String classType)voidsetValueSerialiser(ToBytesSerialiser valueSerialiser)voidsetValueSerialiserClassString(String classType)-
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface uk.gov.gchq.gaffer.serialisation.ToBytesSerialiser
deserialise
-
-
-
-
Method Detail
-
canHandle
public boolean canHandle(Class clazz)
Description copied from interface:SerialiserCheck whether the serialiser can serialise a particular class.//Warning: Due to erasure you may get false positives. e.g.
Set<Foo> set = Sets.newHashSet(); boolean b = new Serialiser<Set<Bar>, byte[]>().canHandle(set.getClass()); b will incorrectly be true because of type erasure between Set<Foo> Set<Bar>- Specified by:
canHandlein interfaceSerialiser<Map,byte[]>- Parameters:
clazz- the object class to serialise- Returns:
- boolean true if it can be handled
-
serialise
public byte[] serialise(Map object) throws SerialisationException
Description copied from interface:ToBytesSerialiserSerialise some object and returns the raw bytes of the serialised form.- Specified by:
serialisein interfaceSerialiser<Map,byte[]>- Specified by:
serialisein interfaceToBytesSerialiser<Map>- Parameters:
object- the object to be serialised- Returns:
- byte[] the serialised bytes
- Throws:
SerialisationException- if the object fails to serialise
-
deserialise
public Map<? extends Object,? extends Object> deserialise(byte[] bytes) throws SerialisationException
Description copied from interface:ToBytesSerialiserDeserialise an array of bytes into the original object.- Specified by:
deserialisein interfaceSerialiser<Map,byte[]>- Specified by:
deserialisein interfaceToBytesSerialiser<Map>- Parameters:
bytes- the bytes to deserialise- Returns:
- T the deserialised object
- Throws:
SerialisationException- if the object fails to deserialiseNote that this implementation is less efficient than using deserialise with an offset and a length, but may still be used if necessary. It has been marked deprecated but will not be removed as it is needed in the Serialiser interface.
- See Also:
ToBytesSerialiser.deserialise(byte[], int, int)
-
deserialiseEmpty
public Map<? extends Object,? extends Object> deserialiseEmpty() throws SerialisationException
Description copied from interface:ToBytesSerialiserHandle an empty byte array and reconstruct an appropriate representation in T form.- Specified by:
deserialiseEmptyin interfaceSerialiser<Map,byte[]>- Specified by:
deserialiseEmptyin interfaceToBytesSerialiser<Map>- Returns:
- T the deserialised object
- Throws:
SerialisationException- if the object fails to deserialise
-
preservesObjectOrdering
public boolean preservesObjectOrdering()
Description copied from interface:ToBytesSerialiserIndicates whether the serialisation process preserves the ordering of the T, i.e. if x and y are objects of class T, and x is less than y, then this method should return true if the serialised form of x is guaranteed to be less than the serialised form of y (using the standard ordering of byte arrays). If T is not Comparable then this test makes no sense and false should be returned.- Specified by:
preservesObjectOrderingin interfaceSerialiser<Map,byte[]>- Specified by:
preservesObjectOrderingin interfaceToBytesSerialiser<Map>- Returns:
- true if the serialisation will preserve the order of the T, otherwise false.
-
isConsistent
public boolean isConsistent()
Description copied from interface:SerialiserIndicates whether the serialisation process produces a predictable, consistent OUTPUT, from a given INPUT, ie the same object should always serialise in the same way for this to be true.- Specified by:
isConsistentin interfaceSerialiser<Map,byte[]>- Returns:
- true if serialisation is consistent for a given object, otherwise false.
-
serialiseNull
public byte[] serialiseNull()
Description copied from interface:ToBytesSerialiserHandle an incoming null value and generate an appropriate byte array representation.- Specified by:
serialiseNullin interfaceSerialiser<Map,byte[]>- Specified by:
serialiseNullin interfaceToBytesSerialiser<Map>- Returns:
- byte[] the serialised bytes
-
getKeySerialiser
public ToBytesSerialiser getKeySerialiser()
-
setKeySerialiser
public void setKeySerialiser(ToBytesSerialiser keySerialiser)
-
getKeySerialiserClassString
public String getKeySerialiserClassString()
-
setKeySerialiserClassString
public void setKeySerialiserClassString(String classType) throws ClassNotFoundException, IllegalAccessException, InstantiationException
-
getValueSerialiser
public ToBytesSerialiser getValueSerialiser()
-
setValueSerialiser
public void setValueSerialiser(ToBytesSerialiser valueSerialiser)
-
getValueSerialiserClassString
public String getValueSerialiserClassString()
-
setValueSerialiserClassString
public void setValueSerialiserClassString(String classType) throws ClassNotFoundException, IllegalAccessException, InstantiationException
-
getMapClassString
public String getMapClassString()
-
setMapClassString
public void setMapClassString(String classType) throws ClassNotFoundException
- Throws:
ClassNotFoundException
-
-