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>
public class UserDeserializerDeserializer<T> extends AbstractContainerDeserializer<T>
Item for processing types, to which deserializer is bound.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
UserDeserializerDeserializer(DeserializerBuilder builder, DeserializerBinding<?> deserializerBinding)
Create instance of current item with its builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendResult(java.lang.Object result)
After object is transitively deserialized from JSON, "append" it to its wrapper.void
deserializeInternal(JsonbParser parser, Unmarshaller context)
Deserialize specific item type.protected void
deserializeNext(javax.json.stream.JsonParser parser, Unmarshaller context)
Determine class mappings and create an instance of a new deserializer.T
getInstance(Unmarshaller unmarshaller)
Creates and initializes an instance of deserializing item.protected JsonbRiParser.LevelContext
moveToFirst(JsonbParser parser)
Don't move anywhere in case of user deserializer.-
Methods inherited from class org.eclipse.yasson.internal.serializer.AbstractContainerDeserializer
convertNullToOptionalEmpty, deserialize, newCollectionOrMapItem, newUnmarshallerItemBuilder
-
Methods inherited from class org.eclipse.yasson.internal.serializer.AbstractItem
getClassModel, getRuntimeType, getWrapper
-
-
-
-
Constructor Detail
-
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
-DeserializerBuilder
used to build this instancedeserializerBinding
- Deserializer.
-
-
Method Detail
-
appendResult
public void appendResult(java.lang.Object result)
Description copied from class:AbstractContainerDeserializer
After 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:
appendResult
in classAbstractContainerDeserializer<T>
- Parameters:
result
- An instance result of an item.
-
getInstance
public T getInstance(Unmarshaller unmarshaller)
Description copied from class:AbstractContainerDeserializer
Creates and initializes an instance of deserializing item.- Specified by:
getInstance
in classAbstractContainerDeserializer<T>
- Parameters:
unmarshaller
- Current deserialization context.- Returns:
- An instance of deserializing item.
-
deserializeInternal
public void deserializeInternal(JsonbParser parser, Unmarshaller context)
Description copied from class:AbstractContainerDeserializer
Deserialize specific item type.- Overrides:
deserializeInternal
in classAbstractContainerDeserializer<T>
- Parameters:
parser
- jsonb parsercontext
- context
-
deserializeNext
protected void deserializeNext(javax.json.stream.JsonParser parser, Unmarshaller context)
Description copied from class:AbstractContainerDeserializer
Determine 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:
deserializeNext
in classAbstractContainerDeserializer<T>
- Parameters:
parser
- Json parser.context
- Current unmarshalling context.
-
moveToFirst
protected JsonbRiParser.LevelContext moveToFirst(JsonbParser parser)
Don't move anywhere in case of user deserializer.- Specified by:
moveToFirst
in classAbstractContainerDeserializer<T>
- Parameters:
parser
- Json parser.- Returns:
- First event.
-
-