Module org.eclipse.yasson
Class SerializationModelCreator
java.lang.Object
org.eclipse.yasson.internal.serializer.SerializationModelCreator
Create or obtain already created type serializer.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map
<Type, ModelSerializer> private final Map
<Type, ModelSerializer> private final JsonbContext
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Optional
<AdapterBinding> adapterBinding
(Type type, ComponentBoundCustomization classCustomization) private void
addParentPolymorphismProperty
(TypeInheritanceConfiguration typeInheritanceConfiguration, LinkedHashMap<String, ModelSerializer> propertySerializers, ClassModel classModel) private void
addPolymorphismProperty
(TypeInheritanceConfiguration typeInheritanceConfiguration, LinkedHashMap<String, ModelSerializer> propertySerializers, ClassModel classModel) private ModelSerializer
createArraySerializer
(LinkedList<Type> chain, Class<?> raw, Customization propertyCustomization) private ModelSerializer
createCollectionSerializer
(LinkedList<Type> chain, Type type, Customization customization) private ModelSerializer
createGenericArraySerializer
(LinkedList<Type> chain, Type type, Customization propertyCustomization) private ModelSerializer
createMapSerializer
(LinkedList<Type> chain, Type type, Customization propertyCustomization) private ModelSerializer
createObjectSerializer
(LinkedList<Type> chain, Type type, ClassModel classModel) private ModelSerializer
createOptionalSerializer
(LinkedList<Type> chain, Type type, Customization propertyCustomization, boolean isKey) private ModelSerializer
createPolymorphismPropertySerializer
(TypeInheritanceConfiguration configuration, String alias) private ModelSerializer
memberSerializer
(LinkedList<Type> chain, Type type, Customization customization, boolean key) serializerChain
(Type type, boolean rootValue, boolean resolveRootAdapter) Create newModelSerializer
of the given type.private ModelSerializer
serializerChain
(LinkedList<Type> chain, Type type, Customization propertyCustomization, boolean rootValue, boolean isKey, boolean resolveRootAdapter) private ModelSerializer
serializerChainInternal
(LinkedList<Type> chain, Type type, Customization propertyCustomization, boolean rootValue, boolean isKey, boolean resolveRootAdapter) serializerChainRuntime
(LinkedList<Type> chain, Type type, Customization propertyCustomization, boolean rootValue, boolean isKey) Create newModelSerializer
of the given type.private Optional
<ModelSerializer> userSerializer
(Type type, ComponentBoundCustomization classCustomization) static ModelSerializer
wrapInCommonSet
(ModelSerializer modelSerializer, Customization customization, JsonbContext jsonbContext) WrapModelSerializer
in the common set of serializers.
-
Field Details
-
explicitChain
-
dynamicChain
-
jsonbContext
-
-
Constructor Details
-
SerializationModelCreator
Create new instance.- Parameters:
jsonbContext
- jsonb context
-
-
Method Details
-
wrapInCommonSet
public static ModelSerializer wrapInCommonSet(ModelSerializer modelSerializer, Customization customization, JsonbContext jsonbContext) WrapModelSerializer
in the common set of serializers.- Parameters:
modelSerializer
- serializer to be wrappedcustomization
- component customizationjsonbContext
- jsonb context- Returns:
- wrapped serializer
-
serializerChain
Create newModelSerializer
of the given type.- Parameters:
type
- type to be serializedrootValue
- whether it is a root valueresolveRootAdapter
- whether to resolve root adapter- Returns:
- type model serializer
-
serializerChainRuntime
public ModelSerializer serializerChainRuntime(LinkedList<Type> chain, Type type, Customization propertyCustomization, boolean rootValue, boolean isKey) Create newModelSerializer
of the given type.- Parameters:
chain
- chain of types used before the one currently processedtype
- type to be serializedpropertyCustomization
- component customizationrootValue
- whether it is a root valueisKey
- whether it is a key- Returns:
- type model serializer
-
serializerChain
private ModelSerializer serializerChain(LinkedList<Type> chain, Type type, Customization propertyCustomization, boolean rootValue, boolean isKey, boolean resolveRootAdapter) -
serializerChainInternal
private ModelSerializer serializerChainInternal(LinkedList<Type> chain, Type type, Customization propertyCustomization, boolean rootValue, boolean isKey, boolean resolveRootAdapter) -
createObjectSerializer
private ModelSerializer createObjectSerializer(LinkedList<Type> chain, Type type, ClassModel classModel) -
addPolymorphismProperty
private void addPolymorphismProperty(TypeInheritanceConfiguration typeInheritanceConfiguration, LinkedHashMap<String, ModelSerializer> propertySerializers, ClassModel classModel) -
addParentPolymorphismProperty
private void addParentPolymorphismProperty(TypeInheritanceConfiguration typeInheritanceConfiguration, LinkedHashMap<String, ModelSerializer> propertySerializers, ClassModel classModel) -
createPolymorphismPropertySerializer
private ModelSerializer createPolymorphismPropertySerializer(TypeInheritanceConfiguration configuration, String alias) -
createCollectionSerializer
private ModelSerializer createCollectionSerializer(LinkedList<Type> chain, Type type, Customization customization) -
createMapSerializer
private ModelSerializer createMapSerializer(LinkedList<Type> chain, Type type, Customization propertyCustomization) -
createArraySerializer
private ModelSerializer createArraySerializer(LinkedList<Type> chain, Class<?> raw, Customization propertyCustomization) -
createGenericArraySerializer
private ModelSerializer createGenericArraySerializer(LinkedList<Type> chain, Type type, Customization propertyCustomization) -
createOptionalSerializer
private ModelSerializer createOptionalSerializer(LinkedList<Type> chain, Type type, Customization propertyCustomization, boolean isKey) -
memberSerializer
private ModelSerializer memberSerializer(LinkedList<Type> chain, Type type, Customization customization, boolean key) -
userSerializer
private Optional<ModelSerializer> userSerializer(Type type, ComponentBoundCustomization classCustomization) -
adapterBinding
private Optional<AdapterBinding> adapterBinding(Type type, ComponentBoundCustomization classCustomization)
-