Package yapion.serializing.api
Interface SerializerObjectInterface<T>
-
- All Known Implementing Classes:
SerializerObject
public interface SerializerObjectInterface<T>
-
-
Method Summary
Modifier and Type Method Description Tdeserialize(DeserializeData<YAPIONObject> deserializeData)This method is used to deserialize the type defined bytype().default booleanisInterface()Returnstrueiftype()should be treated as an interface.YAPIONObjectserialize(SerializeData<T> serializeData)This method is used to serialize the type defined bytype().java.lang.Class<T>type()Describes the Class type this Serializer should be used for by theYAPIONSerializerandYAPIONDeserializerthis Serializer will be used preferably as it should suite the Class better than the internal fallback.
-
-
-
Method Detail
-
type
java.lang.Class<T> type()
Describes the Class type this Serializer should be used for by theYAPIONSerializerandYAPIONDeserializerthis Serializer will be used preferably as it should suite the Class better than the internal fallback.- Returns:
- the Class Type this Serializer is for
-
isInterface
default boolean isInterface()
Returnstrueiftype()should be treated as an interface.YAPIONSerializerandYAPIONDeserializerwill treat this return type as secondary choice if a more specific serializer is missing.- Returns:
trueiftype()should be treated as an interface,falseotherwise
-
serialize
YAPIONObject serialize(SerializeData<T> serializeData)
This method is used to serialize the type defined bytype(). You will get the object to serialize as well as the currentYAPIONSerializerdesignated to this serialization. This serializer should be used to serialize any parts of theObjectthat are not primitive types. So anything that cannot be represented byYAPIONValue. To use the serializer callYAPIONSerializer.parse(Object). You will need to provide the Object and the YAPIONSerializer will provide you with anYAPIONAnyType. This is generic and can be anYAPIONObject,YAPIONMap,YAPIONArray,YAPIONPointerorYAPIONValue. So you should be able to handle any thing you can get or just handle it generically withYAPIONAnyTypeto be safe.- Parameters:
serializeData- all data for serialization- Returns:
- the serialized version of the inputted Object
-
deserialize
T deserialize(DeserializeData<YAPIONObject> deserializeData)
This method is used to deserialize the type defined bytype(). You will get the specifiedYAPIONObjectas well as the currentYAPIONDeserializerdesigned to this deserialization. This deserializer should be used to deserialize any parts of theYAPIONObjectthat are notYAPIONValuetypes. So anything that cannot be represented byYAPIONValue. To use the serializer callYAPIONDeserializer.parse(YAPIONAnyType). You will need to provide theYAPIONAnyTypeand the YAPIONDeserializer will provide you with anObject. This is generic and can be any Object. So you should be able to handle any thing generically.- Parameters:
deserializeData- all data for deserialization- Returns:
- the deserialized version of the inputted
YAPIONObject
-
-