Class UserDeserializerDeserializer<T>
java.lang.Object
org.eclipse.yasson.internal.serializer.AbstractItem<T>
org.eclipse.yasson.internal.serializer.AbstractContainerDeserializer<T>
org.eclipse.yasson.internal.serializer.UserDeserializerDeserializer<T>
- Type Parameters:
T- object type
- All Implemented Interfaces:
javax.json.bind.serializer.JsonbDeserializer<T>,RuntimeTypeInfo,CurrentItem<T>
Item for processing types, to which deserializer is bound.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedUserDeserializerDeserializer(DeserializerBuilder builder, DeserializerBinding<?> deserializerBinding) Create instance of current item with its builder. -
Method Summary
Modifier and TypeMethodDescriptionvoidappendResult(Object result, Unmarshaller context) After object is transitively deserialized from JSON, "append" it to its wrapper.voiddeserializeInternal(JsonbParser parser, Unmarshaller context) Deserialize specific item type.protected voiddeserializeNext(javax.json.stream.JsonParser parser, Unmarshaller context) Determine class mappings and create an instance of a new deserializer.getInstance(Unmarshaller unmarshaller) Creates and initializes an instance of deserializing item.protected JsonbRiParser.LevelContextmoveToFirst(JsonbParser parser) Don't move anywhere in case of user deserializer.Methods inherited from class org.eclipse.yasson.internal.serializer.AbstractContainerDeserializer
convertNullToOptionalEmpty, deserialize, newCollectionOrMapItem, newUnmarshallerItemBuilderMethods inherited from class org.eclipse.yasson.internal.serializer.AbstractItem
getClassModel, getRuntimeType, getWrapper
-
Constructor Details
-
UserDeserializerDeserializer
protected UserDeserializerDeserializer(DeserializerBuilder builder, DeserializerBinding<?> deserializerBinding) Create instance of current item with its builder. Contains user provided component for custom deserialization. Decorates calls to JsonParser, with validation logic so user can't left parser cursor in wrong position after returning from deserializerBinding.- Parameters:
builder-DeserializerBuilderused to build this instancedeserializerBinding- Deserializer.
-
-
Method Details
-
appendResult
Description copied from class:AbstractContainerDeserializerAfter object is transitively deserialized from JSON, "append" it to its wrapper. In case of a field set value to field, in case of collections or other embedded objects use methods provided.- Specified by:
appendResultin classAbstractContainerDeserializer<T>- Parameters:
result- An instance result of an item.context- Current unmarshalling context.
-
getInstance
Description copied from class:AbstractContainerDeserializerCreates and initializes an instance of deserializing item.- Specified by:
getInstancein classAbstractContainerDeserializer<T>- Parameters:
unmarshaller- Current deserialization context.- Returns:
- An instance of deserializing item.
-
deserializeInternal
Description copied from class:AbstractContainerDeserializerDeserialize specific item type.- Overrides:
deserializeInternalin classAbstractContainerDeserializer<T>- Parameters:
parser- jsonb parsercontext- context
-
deserializeNext
Description copied from class:AbstractContainerDeserializerDetermine class mappings and create an instance of a new deserializer. Currently processed deserializer is pushed to stack, for waiting till new object is finished.- Specified by:
deserializeNextin classAbstractContainerDeserializer<T>- Parameters:
parser- Json parser.context- Current unmarshalling context.
-
moveToFirst
Don't move anywhere in case of user deserializer.- Specified by:
moveToFirstin classAbstractContainerDeserializer<T>- Parameters:
parser- Json parser.- Returns:
- First event.
-