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 classObjectDeserializer.FieldDeserializer<ObjectType>A field deserializer parses a value and calls the setter on the target object.static classObjectDeserializer.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)voidadd(java.util.function.ObjIntConsumer<ObjectType> setter, java.lang.String name, java.lang.String... deprecatedNames)ObjectTypedeserialize(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)Deserialize a value.ObjectTypedeserialize(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.voidignore(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 voidparseUnknownField(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)voidsetTypeProperty(java.lang.String name, java.lang.String defaultType)voidsetUnknownFieldHandler(QuadConsumer<ObjectType,java.lang.String,jakarta.json.stream.JsonParser,JsonpMapper> unknownFieldHandler)Sets a handler for unknown fields.java.lang.StringshortcutProperty()voidshortcutProperty(java.lang.String name)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:JsonpDeserializerThe native JSON events this deserializer accepts as a starting point. For example, native events for a boolean areJsonParser.Event.VALUE_TRUEandJsonParser.Event.VALUE_FALSE.- Specified by:
nativeEventsin interfaceJsonpDeserializer<ObjectType>
-
acceptedEvents
public java.util.EnumSet<jakarta.json.stream.JsonParser.Event> acceptedEvents()Description copied from interface:JsonpDeserializerThe JSON events this deserializer accepts as a starting point. For example, events for a boolean areJsonParser.Event.VALUE_TRUE,JsonParser.Event.VALUE_FALSEandJsonParser.Event.VALUE_STRING, the latter being converted to a boolean usingBoolean.parseBoolean(String).- Specified by:
acceptedEventsin interfaceJsonpDeserializer<ObjectType>
-
deserialize
public ObjectType deserialize(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)Description copied from interface:JsonpDeserializerDeserialize a value. The value starts at the current state in the JSON stream.- Specified by:
deserializein 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)
-