Module org.eclipse.yasson
Class DeserializationModelCreator
java.lang.Object
org.eclipse.yasson.internal.deserializer.DeserializationModelCreator
Creator of the deserialization models for deserialized types.
This class servers also as a cache for all previously created model deserializers.
This class servers also as a cache for all previously created model deserializers.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Map<Class<?>,
ModelDeserializer<Object>> private final JsonbContext
private static final Set<jakarta.json.stream.JsonParser.Event>
private final Map<DeserializationModelCreator.CachedItem,
ModelDeserializer<jakarta.json.stream.JsonParser>> private static final ModelDeserializer<Object>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Optional<AdapterBinding>
adapterBinding
(Type type, ComponentBoundCustomization classCustomization) collectIgnoredProperties
(TypeInheritanceConfiguration typeInheritanceConfiguration) private ModelDeserializer<jakarta.json.stream.JsonParser>
createArrayCommonDeserializer
(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, Class<?> component, ModelDeserializer<jakarta.json.stream.JsonParser> typeProcessor) private ModelDeserializer<jakarta.json.stream.JsonParser>
createArrayDeserializer
(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, LinkedList<Type> chain, Customization propertyCustomization) createCachedItem
(Type type, Customization customization) private ModelDeserializer<jakarta.json.stream.JsonParser>
createCollectionDeserializer
(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, LinkedList<Type> chain, Customization propertyCustomization) private ModelDeserializer<jakarta.json.stream.JsonParser>
createGenericArray
(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, LinkedList<Type> chain, Customization propertyCustomization) private ModelDeserializer<jakarta.json.stream.JsonParser>
createMapDeserializer
(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, LinkedList<Type> chain, Customization propertyCustomization) private ModelDeserializer<jakarta.json.stream.JsonParser>
createNewChain
(LinkedList<Type> chain, ModelDeserializer<Object> memberDeserializer, Class<?> rawType, Type type, Customization propertyCustomization) private ModelDeserializer<jakarta.json.stream.JsonParser>
createObjectDeserializer
(LinkedList<Type> chain, Type type, Customization propertyCustomization, ClassModel classModel, Class<?> rawType, DeserializationModelCreator.CachedItem cachedItem) private OptionalDeserializer
createOptionalDeserializer
(LinkedList<Type> chain, Type type, Customization propertyCustomization, DeserializationModelCreator.CachedItem cachedItem) creatorParamsList
(JsonbCreator creator) ModelDeserializer<jakarta.json.stream.JsonParser>
deserializerChain
(Type type) Starts deserializer creation process.private ModelDeserializer<jakarta.json.stream.JsonParser>
deserializerChain
(LinkedList<Type> chain, Type type, Customization propertyCustomization, ClassModel classModel) private ModelDeserializer<jakarta.json.stream.JsonParser>
deserializerChainInternal
(LinkedList<Type> chain, Type type, Customization propertyCustomization, ClassModel classModel) private ModelDeserializer<jakarta.json.stream.JsonParser>
memberTypeProcessor
(LinkedList<Type> chain, PropertyModel propertyModel, boolean hasCreator) private Class<?>
resolveImplClass
(Class<?> rawType, Customization customization) private ModelDeserializer<jakarta.json.stream.JsonParser>
typeDeserializer
(Class<?> rawType, Customization customization, ModelDeserializer<Object> delegate) private ModelDeserializer<jakarta.json.stream.JsonParser>
typeDeserializer
(Class<?> rawType, Customization customization, ModelDeserializer<Object> delegate, Set<jakarta.json.stream.JsonParser.Event> events) private ModelDeserializer<jakarta.json.stream.JsonParser>
typeProcessor
(LinkedList<Type> chain, Type type, Customization customization, ModelDeserializer<Object> memberDeserializer) private ModelDeserializer<jakarta.json.stream.JsonParser>
typeProcessor
(LinkedList<Type> chain, Type type, Customization customization, ModelDeserializer<Object> memberDeserializer, Set<jakarta.json.stream.JsonParser.Event> events) private Optional<DeserializerBinding<?>>
userDeserializer
(Type type, ComponentBoundCustomization classCustomization)
-
Field Details
-
NULL_PROVIDER
-
DEFAULT_CREATOR_VALUES
-
MAP_KEY_EVENTS
-
models
private final Map<DeserializationModelCreator.CachedItem,ModelDeserializer<jakarta.json.stream.JsonParser>> models -
jsonbContext
-
userTypeMapping
-
-
Constructor Details
-
DeserializationModelCreator
Create new instance.- Parameters:
jsonbContext
- jsonb context
-
-
Method Details
-
deserializerChain
Starts deserializer creation process.- Parameters:
type
- type the deserializer is created for- Returns:
- created deserializer
-
deserializerChain
private ModelDeserializer<jakarta.json.stream.JsonParser> deserializerChain(LinkedList<Type> chain, Type type, Customization propertyCustomization, ClassModel classModel) -
deserializerChainInternal
private ModelDeserializer<jakarta.json.stream.JsonParser> deserializerChainInternal(LinkedList<Type> chain, Type type, Customization propertyCustomization, ClassModel classModel) -
createObjectDeserializer
private ModelDeserializer<jakarta.json.stream.JsonParser> createObjectDeserializer(LinkedList<Type> chain, Type type, Customization propertyCustomization, ClassModel classModel, Class<?> rawType, DeserializationModelCreator.CachedItem cachedItem) -
createCollectionDeserializer
private ModelDeserializer<jakarta.json.stream.JsonParser> createCollectionDeserializer(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, LinkedList<Type> chain, Customization propertyCustomization) -
createMapDeserializer
private ModelDeserializer<jakarta.json.stream.JsonParser> createMapDeserializer(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, LinkedList<Type> chain, Customization propertyCustomization) -
createArrayDeserializer
private ModelDeserializer<jakarta.json.stream.JsonParser> createArrayDeserializer(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, LinkedList<Type> chain, Customization propertyCustomization) -
createGenericArray
private ModelDeserializer<jakarta.json.stream.JsonParser> createGenericArray(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, LinkedList<Type> chain, Customization propertyCustomization) -
createArrayCommonDeserializer
private ModelDeserializer<jakarta.json.stream.JsonParser> createArrayCommonDeserializer(DeserializationModelCreator.CachedItem cachedItem, Class<?> rawType, Class<?> component, ModelDeserializer<jakarta.json.stream.JsonParser> typeProcessor) -
createOptionalDeserializer
private OptionalDeserializer createOptionalDeserializer(LinkedList<Type> chain, Type type, Customization propertyCustomization, DeserializationModelCreator.CachedItem cachedItem) -
collectIgnoredProperties
private Set<String> collectIgnoredProperties(TypeInheritanceConfiguration typeInheritanceConfiguration) -
propertyRenamer
-
adapterBinding
private Optional<AdapterBinding> adapterBinding(Type type, ComponentBoundCustomization classCustomization) -
userDeserializer
private Optional<DeserializerBinding<?>> userDeserializer(Type type, ComponentBoundCustomization classCustomization) -
creatorParamsList
-
memberTypeProcessor
private ModelDeserializer<jakarta.json.stream.JsonParser> memberTypeProcessor(LinkedList<Type> chain, PropertyModel propertyModel, boolean hasCreator) -
typeProcessor
private ModelDeserializer<jakarta.json.stream.JsonParser> typeProcessor(LinkedList<Type> chain, Type type, Customization customization, ModelDeserializer<Object> memberDeserializer) -
typeProcessor
private ModelDeserializer<jakarta.json.stream.JsonParser> typeProcessor(LinkedList<Type> chain, Type type, Customization customization, ModelDeserializer<Object> memberDeserializer, Set<jakarta.json.stream.JsonParser.Event> events) -
createNewChain
private ModelDeserializer<jakarta.json.stream.JsonParser> createNewChain(LinkedList<Type> chain, ModelDeserializer<Object> memberDeserializer, Class<?> rawType, Type type, Customization propertyCustomization) -
typeDeserializer
private ModelDeserializer<jakarta.json.stream.JsonParser> typeDeserializer(Class<?> rawType, Customization customization, ModelDeserializer<Object> delegate) -
typeDeserializer
private ModelDeserializer<jakarta.json.stream.JsonParser> typeDeserializer(Class<?> rawType, Customization customization, ModelDeserializer<Object> delegate, Set<jakarta.json.stream.JsonParser.Event> events) -
resolveImplClass
-
createCachedItem
private DeserializationModelCreator.CachedItem createCachedItem(Type type, Customization customization)
-