Package co.elastic.clients.json.jackson
Class JacksonJsonpParser
java.lang.Object
co.elastic.clients.json.jackson.JacksonJsonpParser
- All Implemented Interfaces:
BufferingJsonParser,LookAheadJsonParser,jakarta.json.stream.JsonParser,Closeable,AutoCloseable
A JSONP parser implementation on top of Jackson.
Warning: this implementation isn't fully compliant with the JSONP specification: calling hasNext()
moves forward the underlying Jackson parser as Jackson doesn't provide an equivalent method. This means no value
getter method (e.g. getInt() or getString() should be called until the next call to next().
Such calls will throw an IllegalStateException.
-
Nested Class Summary
Nested classes/interfaces inherited from interface jakarta.json.stream.JsonParser
jakarta.json.stream.JsonParser.Event -
Constructor Summary
ConstructorsConstructorDescriptionJacksonJsonpParser(com.fasterxml.jackson.core.JsonParser parser, JacksonJsonpMapper mapper) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()<Variant> Map.Entry<Variant,jakarta.json.stream.JsonParser> findVariant(Map<String, Variant> variants) In union types, find the variant to be used by looking up property names in the JSON stream until we find one that uniquely identifies the variant.jakarta.json.JsonArraygetArray()Stream<jakarta.json.JsonValue>intgetInt()Get the value at the current parser position as aJsonDataobject.jakarta.json.stream.JsonLocationlonggetLong()jakarta.json.JsonObjectjakarta.json.JsonValuegetValue()Stream<jakarta.json.JsonValue>Not implemented.booleanhasNext()booleancom.fasterxml.jackson.core.JsonParserReturns the underlying Jackson parser.lookAheadFieldValue(String name, String defaultValue) Look ahead the value of a text property in the JSON stream.jakarta.json.stream.JsonParser.Eventnext()voidvoidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.json.stream.JsonParser
currentEvent
-
Constructor Details
-
JacksonJsonpParser
-
-
Method Details
-
jacksonParser
public com.fasterxml.jackson.core.JsonParser jacksonParser()Returns the underlying Jackson parser. -
hasNext
public boolean hasNext()- Specified by:
hasNextin interfacejakarta.json.stream.JsonParser
-
next
public jakarta.json.stream.JsonParser.Event next()- Specified by:
nextin interfacejakarta.json.stream.JsonParser
-
getString
- Specified by:
getStringin interfacejakarta.json.stream.JsonParser
-
isIntegralNumber
public boolean isIntegralNumber()- Specified by:
isIntegralNumberin interfacejakarta.json.stream.JsonParser
-
getInt
public int getInt()- Specified by:
getIntin interfacejakarta.json.stream.JsonParser
-
getLong
public long getLong()- Specified by:
getLongin interfacejakarta.json.stream.JsonParser
-
getBigDecimal
- Specified by:
getBigDecimalin interfacejakarta.json.stream.JsonParser
-
getLocation
public jakarta.json.stream.JsonLocation getLocation()- Specified by:
getLocationin interfacejakarta.json.stream.JsonParser
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfacejakarta.json.stream.JsonParser
-
getObject
public jakarta.json.JsonObject getObject()- Specified by:
getObjectin interfacejakarta.json.stream.JsonParser
-
getArray
public jakarta.json.JsonArray getArray()- Specified by:
getArrayin interfacejakarta.json.stream.JsonParser
-
getValue
public jakarta.json.JsonValue getValue()- Specified by:
getValuein interfacejakarta.json.stream.JsonParser
-
skipObject
public void skipObject()- Specified by:
skipObjectin interfacejakarta.json.stream.JsonParser
-
skipArray
public void skipArray()- Specified by:
skipArrayin interfacejakarta.json.stream.JsonParser
-
getObjectStream
- Specified by:
getObjectStreamin interfacejakarta.json.stream.JsonParser
-
getArrayStream
- Specified by:
getArrayStreamin interfacejakarta.json.stream.JsonParser
-
getValueStream
Not implemented.- Specified by:
getValueStreamin interfacejakarta.json.stream.JsonParser
-
lookAheadFieldValue
public Map.Entry<String,jakarta.json.stream.JsonParser> lookAheadFieldValue(String name, String defaultValue) Description copied from interface:LookAheadJsonParserLook ahead the value of a text property in the JSON stream. The parser must be on theSTART_OBJECTevent.- Specified by:
lookAheadFieldValuein interfaceLookAheadJsonParser- Parameters:
name- the field name to look up.defaultValue- default value if the field is not found.- Returns:
- a pair containing the field value (or
nullif not found), and a parser to be used to read the JSON object.
-
findVariant
public <Variant> Map.Entry<Variant,jakarta.json.stream.JsonParser> findVariant(Map<String, Variant> variants) Description copied from interface:LookAheadJsonParserIn union types, find the variant to be used by looking up property names in the JSON stream until we find one that uniquely identifies the variant.- Specified by:
findVariantin interfaceLookAheadJsonParser- Type Parameters:
Variant- the type of variant descriptors used by the caller.- Parameters:
variants- a map of variant descriptors, keyed by the property name that uniquely identifies the variant.- Returns:
- a pair containing the variant descriptor (or
nullif not found), and a parser to be used to read the JSON object.
-
getJsonData
Description copied from interface:BufferingJsonParserGet the value at the current parser position as aJsonDataobject.- Specified by:
getJsonDatain interfaceBufferingJsonParser- Returns:
-