Package co.elastic.clients.json
Class ObjectDeserializer<ObjectType>
java.lang.Object
co.elastic.clients.json.ObjectDeserializer<ObjectType>
- All Implemented Interfaces:
JsonpDeserializer<ObjectType>
public class ObjectDeserializer<ObjectType> extends java.lang.Object implements JsonpDeserializer<ObjectType>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ObjectDeserializer.FieldDeserializer<ObjectType>
A field deserializer parses a value and calls the setter on the target object.static class
ObjectDeserializer.FieldObjectDeserializer<ObjectType,FieldType>
Field deserializer for objects (and boxed primitives) -
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,ObjectDeserializer.FieldDeserializer<ObjectType>>
fieldDeserializers
-
Constructor Summary
Constructors Constructor Description ObjectDeserializer(java.util.function.Supplier<ObjectType> constructor)
-
Method Summary
Modifier and Type Method Description java.util.EnumSet<jakarta.json.stream.JsonParser.Event>
acceptedEvents()
The JSON events this deserializer accepts as a starting point.<FieldType>
voidadd(java.util.function.BiConsumer<ObjectType,FieldType> setter, JsonpDeserializer<FieldType> deserializer, java.lang.String name)
<FieldType>
voidadd(java.util.function.BiConsumer<ObjectType,FieldType> setter, JsonpDeserializer<FieldType> deserializer, java.lang.String name, java.lang.String... aliases)
void
add(java.util.function.ObjIntConsumer<ObjectType> setter, java.lang.String name, java.lang.String... deprecatedNames)
ObjectType
deserialize(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
Deserialize a value.ObjectType
deserialize(ObjectType value, jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
java.util.Set<java.lang.String>
fieldNames()
Return the top-level property names of the target type for this deserializer.void
ignore(java.lang.String name)
java.util.EnumSet<jakarta.json.stream.JsonParser.Event>
nativeEvents()
The native JSON events this deserializer accepts as a starting point.protected void
parseUnknownField(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, java.lang.String fieldName, ObjectType object)
<FieldType>
voidsetKey(java.util.function.BiConsumer<ObjectType,FieldType> setter, JsonpDeserializer<FieldType> deserializer)
void
setTypeProperty(java.lang.String name, java.lang.String defaultType)
void
setUnknownFieldHandler(QuadConsumer<ObjectType,java.lang.String,jakarta.json.stream.JsonParser,JsonpMapper> unknownFieldHandler)
Sets a handler for unknown fields.java.lang.String
shortcutProperty()
void
shortcutProperty(java.lang.String name)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface co.elastic.clients.json.JsonpDeserializer
accepts, deserialize
-
Field Details
-
fieldDeserializers
protected final java.util.Map<java.lang.String,ObjectDeserializer.FieldDeserializer<ObjectType>> fieldDeserializers
-
-
Constructor Details
-
ObjectDeserializer
-
-
Method Details
-
fieldNames
public java.util.Set<java.lang.String> fieldNames()Return the top-level property names of the target type for this deserializer. -
shortcutProperty
@Nullable public java.lang.String shortcutProperty() -
nativeEvents
public java.util.EnumSet<jakarta.json.stream.JsonParser.Event> nativeEvents()Description copied from interface:JsonpDeserializer
The native JSON events this deserializer accepts as a starting point. For example, native events for a boolean areJsonParser.Event.VALUE_TRUE
andJsonParser.Event.VALUE_FALSE
.- Specified by:
nativeEvents
in interfaceJsonpDeserializer<ObjectType>
-
acceptedEvents
public java.util.EnumSet<jakarta.json.stream.JsonParser.Event> acceptedEvents()Description copied from interface:JsonpDeserializer
The JSON events this deserializer accepts as a starting point. For example, events for a boolean areJsonParser.Event.VALUE_TRUE
,JsonParser.Event.VALUE_FALSE
andJsonParser.Event.VALUE_STRING
, the latter being converted to a boolean usingBoolean.parseBoolean(String)
.- Specified by:
acceptedEvents
in interfaceJsonpDeserializer<ObjectType>
-
deserialize
public ObjectType deserialize(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)Description copied from interface:JsonpDeserializer
Deserialize a value. The value starts at the current state in the JSON stream.- Specified by:
deserialize
in interfaceJsonpDeserializer<ObjectType>
- Parameters:
parser
- the JSON parsermapper
- the JSON-P mapperevent
- the current state ofparser
, which must be part ofJsonpDeserializer.acceptedEvents()
- Returns:
- the parsed value
-
deserialize
public ObjectType deserialize(ObjectType value, jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event) -
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)Sets a handler for unknown fields.Note: on failure, handlers should not report the field name in their exception: this is handled by the caller.
-
ignore
public void ignore(java.lang.String name) -
shortcutProperty
public void shortcutProperty(java.lang.String name) -
add
public <FieldType> void add(java.util.function.BiConsumer<ObjectType,FieldType> setter, JsonpDeserializer<FieldType> deserializer, java.lang.String name) -
add
public <FieldType> void add(java.util.function.BiConsumer<ObjectType,FieldType> setter, JsonpDeserializer<FieldType> deserializer, java.lang.String name, java.lang.String... aliases) -
setKey
public <FieldType> void setKey(java.util.function.BiConsumer<ObjectType,FieldType> setter, JsonpDeserializer<FieldType> deserializer) -
setTypeProperty
public void setTypeProperty(java.lang.String name, java.lang.String defaultType) -
add
public void add(java.util.function.ObjIntConsumer<ObjectType> setter, java.lang.String name, java.lang.String... deprecatedNames)
-