Class AdaptedObjectDeserializer<A,​T>

java.lang.Object
org.eclipse.yasson.internal.serializer.AdaptedObjectDeserializer<A,​T>
Type Parameters:
A - adapted type, type to deserialize JSON into
T - 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 Details

    • AdaptedObjectDeserializer

      public AdaptedObjectDeserializer(AdapterBinding adapterInfo, AbstractContainerDeserializer<?> wrapperItem)
      Creates decoration instance wrapping real adapted object item.
      Parameters:
      adapterInfo - components type info
      wrapperItem - wrapper item to get instance from
  • Method Details

    • getClassModel

      public ClassModel getClassModel()
      Description copied from interface: CurrentItem
      Class model containing property for this item.
      Specified by:
      getClassModel in interface CurrentItem<A>
      Returns:
      Class model.
    • getWrapper

      public CurrentItem<?> getWrapper()
      Description copied from interface: CurrentItem
      Item wrapper. Null only in case of a root item.
      Specified by:
      getWrapper in interface CurrentItem<A>
      Specified by:
      getWrapper in interface RuntimeTypeInfo
      Returns:
      Wrapper item of this item.
    • getRuntimeType

      public Type getRuntimeType()
      Description copied from interface: RuntimeTypeInfo
      Returns a runtime type. It can be a class, ParameterizedType or TypeVariable.
      Specified by:
      getRuntimeType in interface RuntimeTypeInfo
      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 interface javax.json.bind.serializer.JsonbDeserializer<A>