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 interface
SerializeManager.DeserializationGetter<T,R extends YAPIONAnyType>
static interface
SerializeManager.InstanceGetter<T>
static interface
SerializeManager.SerializationGetter<T,R extends YAPIONAnyType>
-
Method Summary
Modifier and Type Method Description static void
add(InstanceFactoryInterface<?> instanceFactory)
Add anInstanceFactory
orInstanceFactoryInterface
to 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> void
add(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 aInstanceFactory
from one interface:SerializeManager.InstanceGetter
Which is a FunctionalInterface with just one method to override.static void
remove(java.lang.Class<?> clazz)
Remove a special Serializer with the Class type name.static void
remove(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 aSerializerList
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 aSerializerMap
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.DeserializationGetter
.static <T> SerializerObject<T>
SerializerObject(java.lang.Class<T> clazz, SerializeManager.SerializationGetter<T,YAPIONObject> serializationGetter, SerializeManager.DeserializationGetter<T,YAPIONObject> deserializationGetter)
Create aSerializerQueue
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 aSerializerQueue
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 aSerializerSet
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 aSerializerQueue
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 arenull
an 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 aSerializerMap
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 arenull
an 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 aSerializerList
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 arenull
an 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 aSerializerQueue
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 arenull
an 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 aSerializerSet
from two interfaces:SerializeManager.SerializationGetter
andSerializeManager.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 arenull
an 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 anInstanceFactory
orInstanceFactoryInterface
to 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 aInstanceFactory
from one interface:SerializeManager.InstanceGetter
Which is a FunctionalInterface with just one method to override. This makes the use off this interface really easy. If any of the two arguments arenull
an YAPIONException is thrown.- Type Parameters:
T
- the Instance type- Parameters:
clazz
- the ClassinstanceGetter
- the InstanceGetter- Returns:
- the InstanceFactory that wraps the Interface
-
-