Class ObjectDeserializer<ObjectType>

java.lang.Object
co.elastic.clients.json.JsonpDeserializer<ObjectType>
co.elastic.clients.json.DelegatingDeserializer<ObjectType>
co.elastic.clients.json.ObjectDeserializer<ObjectType>
All Implemented Interfaces:
InstanceDeserializer<ObjectType,​ObjectType>

public class ObjectDeserializer<ObjectType>
extends DelegatingDeserializer<ObjectType>
implements InstanceDeserializer<ObjectType,​ObjectType>
  • Field Details

  • Constructor Details

    • ObjectDeserializer

      public ObjectDeserializer​(java.util.function.Supplier<ObjectType> constructor)
  • Method Details

    • deserialize

      public ObjectType deserialize​(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
      Description copied from class: JsonpDeserializer
      Parse a value. The value starts at the current state in the json stream. This method will usually start with ensureAccepts(parser, event) to ensure correctness of the starting state.
      Specified by:
      deserialize in class JsonpDeserializer<ObjectType>
      Parameters:
      parser - the json parser
      mapper - the jsonp mapper
      event - the current state of parser, which must be part of JsonpDeserializer.acceptedEvents
      Returns:
      the parsed value
    • deserialize

      public ObjectType deserialize​(ObjectType value, jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
      Specified by:
      deserialize in interface InstanceDeserializer<ObjectType,​ObjectType>
    • parseUnknownField

      protected void parseUnknownField​(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, java.lang.String fieldName, ObjectType object)
    • setUnknownFieldHandler

      public void setUnknownFieldHandler​(QuadConsumer<ObjectType,​java.lang.String,​jakarta.json.stream.JsonParser,​JsonpMapper> unknownFieldHandler)
      Overrides:
      setUnknownFieldHandler in class DelegatingDeserializer<ObjectType>
    • ignore

      public void ignore​(java.lang.String name)
      Description copied from class: DelegatingDeserializer
      Used for internally tagged variants items to ignore their variant type property.
      Overrides:
      ignore in class DelegatingDeserializer<ObjectType>
    • add

      public <FieldType> void add​(java.util.function.BiConsumer<ObjectType,​FieldType> setter, JsonpDeserializer<FieldType> deserializer, java.lang.String name, java.lang.String... deprecatedNames)
      Specified by:
      add in class DelegatingDeserializer<ObjectType>
    • setKey

      public void setKey​(java.util.function.BiConsumer<ObjectType,​java.lang.String> setter)
      Description copied from class: DelegatingDeserializer
      Used for SingleKeyDictionary properties where the JSON representation is a property name and a nested object. This structure is flattened in the corresponding Java classes, and this method should be used to register its setter.
      Specified by:
      setKey in class DelegatingDeserializer<ObjectType>
      Parameters:
      setter - the key setter
    • setTypeProperty

      public void setTypeProperty​(java.lang.String name)
      Description copied from class: DelegatingDeserializer
      Used for internally tagged variants containers to indicate the object's property that defines the variant type
      Specified by:
      setTypeProperty in class DelegatingDeserializer<ObjectType>
    • add

      public void add​(java.util.function.ObjIntConsumer<ObjectType> setter, java.lang.String name, java.lang.String... deprecatedNames)