Class AbstractObjectParser<Value,Context>
- java.lang.Object
-
- org.elasticsearch.common.xcontent.AbstractObjectParser<Value,Context>
-
- All Implemented Interfaces:
java.util.function.BiFunction<XContentParser,Context,Value>
,ContextParser<Context,Value>
- Direct Known Subclasses:
ConstructingObjectParser
,ObjectParser
public abstract class AbstractObjectParser<Value,Context> extends java.lang.Object implements java.util.function.BiFunction<XContentParser,Context,Value>, ContextParser<Context,Value>
Superclass forObjectParser
andConstructingObjectParser
. Defines most of the "declare" methods so they can be shared.
-
-
Constructor Summary
Constructors Constructor Description AbstractObjectParser()
-
Method Summary
Modifier and Type Method Description void
declareBoolean(java.util.function.BiConsumer<Value,java.lang.Boolean> consumer, ParseField field)
void
declareDouble(java.util.function.BiConsumer<Value,java.lang.Double> consumer, ParseField field)
void
declareDoubleArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.Double>> consumer, ParseField field)
<T> void
declareField(java.util.function.BiConsumer<Value,T> consumer, CheckedFunction<XContentParser,T,java.io.IOException> parser, ParseField parseField, ObjectParser.ValueType type)
abstract <T> void
declareField(java.util.function.BiConsumer<Value,T> consumer, ContextParser<Context,T> parser, ParseField parseField, ObjectParser.ValueType type)
Declare some field.<T> void
declareFieldArray(java.util.function.BiConsumer<Value,java.util.List<T>> consumer, ContextParser<Context,T> itemParser, ParseField field, ObjectParser.ValueType type)
Declares a field that can contain an array of elements listed in the type ValueType enumvoid
declareFloat(java.util.function.BiConsumer<Value,java.lang.Float> consumer, ParseField field)
void
declareFloatArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.Float>> consumer, ParseField field)
void
declareInt(java.util.function.BiConsumer<Value,java.lang.Integer> consumer, ParseField field)
void
declareIntArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.Integer>> consumer, ParseField field)
void
declareLong(java.util.function.BiConsumer<Value,java.lang.Long> consumer, ParseField field)
void
declareLongArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.Long>> consumer, ParseField field)
abstract <T> void
declareNamedObjects(java.util.function.BiConsumer<Value,java.util.List<T>> consumer, ObjectParser.NamedObjectParser<T,Context> namedObjectParser, java.util.function.Consumer<Value> orderedModeCallback, ParseField parseField)
Declares named objects in the style of highlighting's field element.abstract <T> void
declareNamedObjects(java.util.function.BiConsumer<Value,java.util.List<T>> consumer, ObjectParser.NamedObjectParser<T,Context> namedObjectParser, ParseField parseField)
Declares named objects in the style of aggregations.<T> void
declareObject(java.util.function.BiConsumer<Value,T> consumer, ContextParser<Context,T> objectParser, ParseField field)
<T> void
declareObjectArray(java.util.function.BiConsumer<Value,java.util.List<T>> consumer, ContextParser<Context,T> objectParser, ParseField field)
void
declareString(java.util.function.BiConsumer<Value,java.lang.String> consumer, ParseField field)
void
declareStringArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.String>> consumer, ParseField field)
void
declareStringOrNull(java.util.function.BiConsumer<Value,java.lang.String> consumer, ParseField field)
abstract java.lang.String
getName()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.elasticsearch.common.xcontent.ContextParser
parse
-
-
-
-
Method Detail
-
declareField
public abstract <T> void declareField(java.util.function.BiConsumer<Value,T> consumer, ContextParser<Context,T> parser, ParseField parseField, ObjectParser.ValueType type)
Declare some field. Usually it is easier to usedeclareString(BiConsumer, ParseField)
ordeclareObject(BiConsumer, ContextParser, ParseField)
rather than call this directly.
-
declareNamedObjects
public abstract <T> void declareNamedObjects(java.util.function.BiConsumer<Value,java.util.List<T>> consumer, ObjectParser.NamedObjectParser<T,Context> namedObjectParser, ParseField parseField)
Declares named objects in the style of aggregations. These are named inside and object like this:{ "aggregations": { "name_1": { "aggregation_type": {} }, "name_2": { "aggregation_type": {} }, "name_3": { "aggregation_type": {} } } } }
- Parameters:
consumer
- sets the values once they have been parsednamedObjectParser
- parses each named objectparseField
- the field to parse
-
declareNamedObjects
public abstract <T> void declareNamedObjects(java.util.function.BiConsumer<Value,java.util.List<T>> consumer, ObjectParser.NamedObjectParser<T,Context> namedObjectParser, java.util.function.Consumer<Value> orderedModeCallback, ParseField parseField)
Declares named objects in the style of highlighting's field element. These are usually named inside and object like this:{ "highlight": { "fields": { <------ this one "title": {}, "body": {}, "category": {} } } }
{ "highlight": { "fields": [ <------ this one {"title": {}}, {"body": {}}, {"category": {}} ] } }
- Parameters:
consumer
- sets the values once they have been parsednamedObjectParser
- parses each named objectorderedModeCallback
- called when the named object is parsed using the "ordered" mode (the array of objects)parseField
- the field to parse
-
getName
public abstract java.lang.String getName()
-
declareField
public <T> void declareField(java.util.function.BiConsumer<Value,T> consumer, CheckedFunction<XContentParser,T,java.io.IOException> parser, ParseField parseField, ObjectParser.ValueType type)
-
declareObject
public <T> void declareObject(java.util.function.BiConsumer<Value,T> consumer, ContextParser<Context,T> objectParser, ParseField field)
-
declareFloat
public void declareFloat(java.util.function.BiConsumer<Value,java.lang.Float> consumer, ParseField field)
-
declareDouble
public void declareDouble(java.util.function.BiConsumer<Value,java.lang.Double> consumer, ParseField field)
-
declareLong
public void declareLong(java.util.function.BiConsumer<Value,java.lang.Long> consumer, ParseField field)
-
declareInt
public void declareInt(java.util.function.BiConsumer<Value,java.lang.Integer> consumer, ParseField field)
-
declareString
public void declareString(java.util.function.BiConsumer<Value,java.lang.String> consumer, ParseField field)
-
declareStringOrNull
public void declareStringOrNull(java.util.function.BiConsumer<Value,java.lang.String> consumer, ParseField field)
-
declareBoolean
public void declareBoolean(java.util.function.BiConsumer<Value,java.lang.Boolean> consumer, ParseField field)
-
declareObjectArray
public <T> void declareObjectArray(java.util.function.BiConsumer<Value,java.util.List<T>> consumer, ContextParser<Context,T> objectParser, ParseField field)
-
declareStringArray
public void declareStringArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.String>> consumer, ParseField field)
-
declareDoubleArray
public void declareDoubleArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.Double>> consumer, ParseField field)
-
declareFloatArray
public void declareFloatArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.Float>> consumer, ParseField field)
-
declareLongArray
public void declareLongArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.Long>> consumer, ParseField field)
-
declareIntArray
public void declareIntArray(java.util.function.BiConsumer<Value,java.util.List<java.lang.Integer>> consumer, ParseField field)
-
declareFieldArray
public <T> void declareFieldArray(java.util.function.BiConsumer<Value,java.util.List<T>> consumer, ContextParser<Context,T> itemParser, ParseField field, ObjectParser.ValueType type)
Declares a field that can contain an array of elements listed in the type ValueType enum
-
-