Package yapion.serializing
Class SerializeManager
- java.lang.Object
-
- yapion.serializing.SerializeManager
-
public class SerializeManager extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceSerializeManager.DeserializationGetter<T,R extends YAPIONAnyType>static interfaceSerializeManager.InstanceGetter<T>static interfaceSerializeManager.SerializationGetter<T,R extends YAPIONAnyType>
-
Method Summary
Modifier and Type Method Description static voidadd(InstanceFactoryInterface<?> instanceFactory)Add anInstanceFactoryorInstanceFactoryInterfaceto the SerializerManager which will be used to create instances of a givenClass.static <T extends java.util.List<?>>
voidadd(SerializerListInterface<T> serializer)Adds a special Serializer for a specific List.static <T extends java.util.Map<?,?>>
voidadd(SerializerMapInterface<T> serializer)Adds a special Serializer for a specific Map.static <T> voidadd(SerializerObjectInterface<T> serializer)Adds a special Serializer for a specific Object.static <T extends java.util.Queue<?>>
voidadd(SerializerQueueInterface<T> serializer)Adds a special Serializer for a specific Queue.static <T extends java.util.Set<?>>
voidadd(SerializerSetInterface<T> serializer)Adds a special Serializer for a specific Set.static <T> InstanceFactory<T>InstanceFactory(java.lang.Class<T> clazz, SerializeManager.InstanceGetter<T> instanceGetter)Create aInstanceFactoryfrom one interface:SerializeManager.InstanceGetterWhich is a FunctionalInterface with just one method to override.static voidremove(java.lang.Class<?> clazz)Remove a special Serializer with the Class type name.static voidremove(java.lang.String type)Remove a special Serializer with the type name.static <T extends java.util.List<?>>
SerializerList<T>SerializerList(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONArray> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONArray> deserializationGetter)Create aSerializerListfrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter.static <T extends java.util.Map<?,?>>
SerializerMap<T>SerializerMap(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONMap> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONMap> deserializationGetter)Create aSerializerMapfrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter.static <T> SerializerObject<T>SerializerObject(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONObject> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONObject> deserializationGetter)Create aSerializerQueuefrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter.static <T extends java.util.Queue<?>>
SerializerQueue<T>SerializerQueue(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONArray> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONArray> deserializationGetter)Create aSerializerQueuefrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter.static <T extends java.util.Set<?>>
SerializerSet<T>SerializerSet(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONArray> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONArray> deserializationGetter)Create aSerializerSetfrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter.
-
-
-
Method Detail
-
add
public static <T> void add(SerializerObjectInterface<T> serializer)
Adds a special Serializer for a specific Object.- Parameters:
serializer- the special Serializer to add
-
add
public static <T extends java.util.Map<?,?>> void add(SerializerMapInterface<T> serializer)
Adds a special Serializer for a specific Map.- Parameters:
serializer- the special Serializer to add
-
add
public static <T extends java.util.List<?>> void add(SerializerListInterface<T> serializer)
Adds a special Serializer for a specific List.- Parameters:
serializer- the special Serializer to add
-
add
public static <T extends java.util.Queue<?>> void add(SerializerQueueInterface<T> serializer)
Adds a special Serializer for a specific Queue.- Parameters:
serializer- the special Serializer to add
-
add
public static <T extends java.util.Set<?>> void add(SerializerSetInterface<T> serializer)
Adds a special Serializer for a specific Set.- Parameters:
serializer- the special Serializer to add
-
remove
public static void remove(java.lang.String type)
Remove a special Serializer with the type name.- Parameters:
type- the typeName to remove
-
remove
public static void remove(java.lang.Class<?> clazz)
Remove a special Serializer with the Class type name.- Parameters:
clazz- the Class type name
-
SerializerObject
public static <T> SerializerObject<T> SerializerObject(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONObject> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONObject> deserializationGetter)
Create aSerializerQueuefrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter. Those are all FunctionalInterfaces with just one method to override. This makes the use off those interfaces really easy. If any of the three arguments arenullan YAPIONException is thrown.- Type Parameters:
T- the Type of this Serializer- Parameters:
clazz- the ClassserializationGetter- the SerializationGetterdeserializationGetter- the DeserializationGetter- Returns:
- the Serializer that wraps the Interfaces
-
SerializerMap
public static <T extends java.util.Map<?,?>> SerializerMap<T> SerializerMap(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONMap> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONMap> deserializationGetter)
Create aSerializerMapfrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter. Those are all FunctionalInterfaces with just one method to override. This makes the use off those interfaces really easy. If any of the three arguments arenullan YAPIONException is thrown.- Type Parameters:
T- the Type of this Serializer- Parameters:
clazz- the ClassserializationGetter- the SerializationGetterdeserializationGetter- the DeserializationGetter- Returns:
- the Serializer that wraps the Interfaces
-
SerializerList
public static <T extends java.util.List<?>> SerializerList<T> SerializerList(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONArray> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONArray> deserializationGetter)
Create aSerializerListfrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter. Those are all FunctionalInterfaces with just one method to override. This makes the use off those interfaces really easy. If any of the three arguments arenullan YAPIONException is thrown.- Type Parameters:
T- the Type of this Serializer- Parameters:
clazz- the ClassserializationGetter- the SerializationGetterdeserializationGetter- the DeserializationGetter- Returns:
- the Serializer that wraps the Interfaces
-
SerializerQueue
public static <T extends java.util.Queue<?>> SerializerQueue<T> SerializerQueue(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONArray> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONArray> deserializationGetter)
Create aSerializerQueuefrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter. Those are all FunctionalInterfaces with just one method to override. This makes the use off those interfaces really easy. If any of the three arguments arenullan YAPIONException is thrown.- Type Parameters:
T- the Type of this Serializer- Parameters:
clazz- the ClassserializationGetter- the SerializationGetterdeserializationGetter- the DeserializationGetter- Returns:
- the Serializer that wraps the Interfaces
-
SerializerSet
public static <T extends java.util.Set<?>> SerializerSet<T> SerializerSet(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONArray> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONArray> deserializationGetter)
Create aSerializerSetfrom two interfaces:SerializeManager.SerializationGetterandSerializeManager.DeserializationGetter. Those are all FunctionalInterfaces with just one method to override. This makes the use off those interfaces really easy. If any of the three arguments arenullan YAPIONException is thrown.- Type Parameters:
T- the Type of this Serializer- Parameters:
clazz- the ClassserializationGetter- the SerializationGetterdeserializationGetter- the DeserializationGetter- Returns:
- the Serializer that wraps the Interfaces
-
add
public static void add(InstanceFactoryInterface<?> instanceFactory)
Add anInstanceFactoryorInstanceFactoryInterfaceto the SerializerManager which will be used to create instances of a givenClass. This can speed up the deserialization process because there are fewer reflection accesses.- Parameters:
instanceFactory- the factory
-
InstanceFactory
public static <T> InstanceFactory<T> InstanceFactory(java.lang.Class<T> clazz, SerializeManager.InstanceGetter<T> instanceGetter)
Create aInstanceFactoryfrom one interface:SerializeManager.InstanceGetterWhich is a FunctionalInterface with just one method to override. This makes the use off this interface really easy. If any of the two arguments arenullan YAPIONException is thrown.- Type Parameters:
T- the Instance type- Parameters:
clazz- the ClassinstanceGetter- the InstanceGetter- Returns:
- the InstanceFactory that wraps the Interface
-
-