Package com.emc.documentum.rest.wire

# Interface AnnotatedFieldDeserializer<T>

Type Parameters:
  `T` - the parser type in XML, JSON or any other provider

All Superinterfaces:
  `AnnotatedFieldBindingProcessor`

All Known Implementing Classes:
  `AbstractFieldJsonDeserializer`, `AbstractFieldXmlDeserializer`, `ArrayFieldJsonDeserializer`, `DelayedFieldJsonDeserializer`, `DelayedFieldXmlDeserializer`, `EntryFieldJsonDeserializer`, `EntryFieldXmlDeserializer`, `MapFieldJsonDeserializer`, `MapFieldXmlDeserializer`, `ObjectFieldJsonDeserializer`, `ObjectFieldXmlDeserializer`, `SimpleDataFieldJsonDeserializer`, `SimpleDataFieldXmlDeserializer`, `SkipFieldJsonDeserializer`, `SkipFieldXmlDeserializer`, `WrappedListFieldXmlDeserializer`

public interface AnnotatedFieldDeserializer<T> extends AnnotatedFieldBindingProcessor
This is an interface for defining the behavior to deserialize the serializable field.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `deserializable(Object current, SerializableFieldMeta fieldNode, Class<?> valueType)`
  Check if the field value and field type is deserializable by this deserializer.
  `Object`
  `deserialize(T parser, Object object, String name, SerializableFieldMeta fieldNode, Map<String,Object> infoMap, com.emc.documentum.rest.config.BindingConfig bindingConfig)`
  Deserialize the field.

  ### Methods inherited from interface com.emc.documentum.rest.wire.AnnotatedFieldBindingProcessor

  `isCompatibleMediaType`

- ## Method Details

  - ### deserialize

    Object deserialize(T parser, Object object, String name, SerializableFieldMeta fieldNode, Map<String,Object> infoMap, com.emc.documentum.rest.config.BindingConfig bindingConfig)
    Deserialize the field.
    Parameters:
      `parser` - message parser
      `object` - the object that the field belongs to
      `name` - the field name
      `fieldNode` - the serializable filed meta
      `infoMap` - the map which can carry additional info
      `bindingConfig` - binding configuration
    Returns:
      the field object

  - ### deserializable

    boolean deserializable(Object current, SerializableFieldMeta fieldNode, Class<?> valueType)
    Check if the field value and field type is deserializable by this deserializer.
    Parameters:
      `current` - current token of JSON object
      `fieldNode` - the deserializable field meta
      `valueType` - actual value type for current JSON token; this parameter is optional; when it is provided, it takes precedence over the data type defined from fieldNode
    Returns:
      `true` if the field value is deserializable; `false` otherwise.