Class JacksonJsonpParser
- java.lang.Object
-
- org.opensearch.client.json.jackson.JacksonJsonpParser
-
- All Implemented Interfaces:
jakarta.json.stream.JsonParser,java.io.Closeable,java.lang.AutoCloseable,LookAheadJsonParser
public class JacksonJsonpParser extends java.lang.Object implements LookAheadJsonParser
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()orgetString()should be called until the next call tonext(). Such calls will throw anIllegalStateException.
-
-
Constructor Summary
Constructors Constructor Description JacksonJsonpParser(com.fasterxml.jackson.core.JsonParser parser)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()<Variant> java.util.Map.Entry<Variant,jakarta.json.stream.JsonParser>findVariant(java.util.Map<java.lang.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()java.util.stream.Stream<jakarta.json.JsonValue>getArrayStream()java.math.BigDecimalgetBigDecimal()intgetInt()jakarta.json.stream.JsonLocationgetLocation()longgetLong()jakarta.json.JsonObjectgetObject()java.util.stream.Stream<java.util.Map.Entry<java.lang.String,jakarta.json.JsonValue>>getObjectStream()java.lang.StringgetString()jakarta.json.JsonValuegetValue()java.util.stream.Stream<jakarta.json.JsonValue>getValueStream()Not implemented.booleanhasNext()booleanisIntegralNumber()com.fasterxml.jackson.core.JsonParserjacksonParser()Returns the underlying Jackson parser.java.util.Map.Entry<java.lang.String,jakarta.json.stream.JsonParser>lookAheadFieldValue(java.lang.String name, java.lang.String defaultValue)Look ahead the value of a text property in the JSON stream.jakarta.json.stream.JsonParser.Eventnext()voidskipArray()voidskipObject()
-
-
-
Method Detail
-
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
public java.lang.String 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
public java.math.BigDecimal 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 interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- 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
public java.util.stream.Stream<java.util.Map.Entry<java.lang.String,jakarta.json.JsonValue>> getObjectStream()
- Specified by:
getObjectStreamin interfacejakarta.json.stream.JsonParser
-
getArrayStream
public java.util.stream.Stream<jakarta.json.JsonValue> getArrayStream()
- Specified by:
getArrayStreamin interfacejakarta.json.stream.JsonParser
-
getValueStream
public java.util.stream.Stream<jakarta.json.JsonValue> getValueStream()
Not implemented.- Specified by:
getValueStreamin interfacejakarta.json.stream.JsonParser
-
lookAheadFieldValue
public java.util.Map.Entry<java.lang.String,jakarta.json.stream.JsonParser> lookAheadFieldValue(java.lang.String name, java.lang.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> java.util.Map.Entry<Variant,jakarta.json.stream.JsonParser> findVariant(java.util.Map<java.lang.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.
-
-