Class AdaptedObjectDeserializer<A,T>
java.lang.Object
org.eclipse.yasson.internal.serializer.AdaptedObjectDeserializer<A,T>
- Type Parameters:
A
- adapted type, type to deserialize JSON intoT
- required type, typically type of the field, which is adapted to another type
- All Implemented Interfaces:
javax.json.bind.serializer.JsonbDeserializer<T>
,RuntimeTypeInfo
,CurrentItem<T>
public class AdaptedObjectDeserializer<A,T>
extends Object
implements CurrentItem<T>, javax.json.bind.serializer.JsonbDeserializer<T>
Decorator for an item which builds adapted type instance by a
JsonbAdapter
.
After adapted item is finished building its instance is converted to field type object by calling components.-
Constructor Summary
ConstructorDescriptionAdaptedObjectDeserializer(AdapterBinding adapterInfo, AbstractContainerDeserializer<?> wrapperItem)
Creates decoration instance wrapping real adapted object item. -
Method Summary
Modifier and TypeMethodDescriptiondeserialize(javax.json.stream.JsonParser parser, javax.json.bind.serializer.DeserializationContext context, Type rtType)
Class model containing property for this item.Returns a runtime type.CurrentItem<?>
Item wrapper.void
setAdaptedTypeDeserializer(javax.json.bind.serializer.JsonbDeserializer<A> adaptedTypeDeserializer)
Sets adapted item.
-
Constructor Details
-
AdaptedObjectDeserializer
public AdaptedObjectDeserializer(AdapterBinding adapterInfo, AbstractContainerDeserializer<?> wrapperItem)Creates decoration instance wrapping real adapted object item.- Parameters:
adapterInfo
- components type infowrapperItem
- wrapper item to get instance from
-
-
Method Details
-
getClassModel
Description copied from interface:CurrentItem
Class model containing property for this item.- Specified by:
getClassModel
in interfaceCurrentItem<A>
- Returns:
- Class model.
-
getWrapper
Description copied from interface:CurrentItem
Item wrapper. Null only in case of a root item.- Specified by:
getWrapper
in interfaceCurrentItem<A>
- Specified by:
getWrapper
in interfaceRuntimeTypeInfo
- Returns:
- Wrapper item of this item.
-
getRuntimeType
Description copied from interface:RuntimeTypeInfo
Returns a runtime type. It can be a class,ParameterizedType
orTypeVariable
.- Specified by:
getRuntimeType
in interfaceRuntimeTypeInfo
- Returns:
- Runtime type or null if not defined.
-
setAdaptedTypeDeserializer
public void setAdaptedTypeDeserializer(javax.json.bind.serializer.JsonbDeserializer<A> adaptedTypeDeserializer)Sets adapted item.- Parameters:
adaptedTypeDeserializer
- Adapted item to set.
-
deserialize
public T deserialize(javax.json.stream.JsonParser parser, javax.json.bind.serializer.DeserializationContext context, Type rtType)- Specified by:
deserialize
in interfacejavax.json.bind.serializer.JsonbDeserializer<A>
-