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 for
ObjectParser
and ConstructingObjectParser
. 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()
-
Constructor Details
-
AbstractObjectParser
public AbstractObjectParser()
-
-
Method Details
-
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
-