Package org.elasticsearch.index.mapper
Class FieldMapper.Parameter<T>
java.lang.Object
org.elasticsearch.index.mapper.FieldMapper.Parameter<T>
- Type Parameters:
T- the type of the value the parameter holds
- All Implemented Interfaces:
Supplier<T>
- Enclosing class:
- FieldMapper
A configurable parameter for a field mapper
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionParameter(String name, boolean updateable, Supplier<T> defaultValue, TriFunction<String,MappingParserContext,Object,T> parser, Function<FieldMapper,T> initializer)Creates a new Parameter -
Method Summary
Modifier and TypeMethodDescriptionAllows the parameter to accept anullvalueaddDeprecatedName(String deprecatedName)Adds a deprecated parameter name.Always serialize this parameter, no matter its valuestatic FieldMapper.Parameter<NamedAnalyzer>analyzerParam(String name, boolean updateable, Function<FieldMapper,NamedAnalyzer> initializer, Supplier<NamedAnalyzer> defaultAnalyzer)Defines a parameter that takes an analyzer namestatic FieldMapper.Parameter<Boolean>boolParam(String name, boolean updateable, Function<FieldMapper,Boolean> initializer, boolean defaultValue)Defines a parameter that takes the valuestrueorfalsestatic FieldMapper.Parameter<Float>booleanDeprecates the entire parameter.static FieldMapper.Parameter<Boolean>docValuesParam(Function<FieldMapper,Boolean> initializer, boolean defaultValue)static FieldMapper.Parameter<Double>doubleParam(String name, boolean updateable, Function<FieldMapper,Double> initializer, double defaultValue)Defines a parameter that takes a double valuestatic FieldMapper.Parameter<Explicit<Boolean>>explicitBoolParam(String name, boolean updateable, Function<FieldMapper,Explicit<Boolean>> initializer, boolean defaultValue)Defines a parameter that takes the valuestrueorfalse, and will always serialize its value if configured.static FieldMapper.Parameter<Float>floatParam(String name, boolean updateable, Function<FieldMapper,Float> initializer, float defaultValue)Defines a parameter that takes a float valueget()Returns the default value of the parametergetValue()Returns the current value of the parameterstatic FieldMapper.Parameter<Boolean>indexParam(Function<FieldMapper,Boolean> initializer, boolean defaultValue)static FieldMapper.Parameter<Integer>intParam(String name, boolean updateable, Function<FieldMapper,Integer> initializer, int defaultValue)Defines a parameter that takes an integer valuebooleanstatic FieldMapper.Parameter<Map<String,String>>Declares a metadata parameterNever serialize this parameter, no matter its valuestatic FieldMapper.Parameter<String>onScriptErrorParam(Function<FieldMapper,String> initializer, FieldMapper.Parameter<Script> dependentScriptParam)Defines an on_script_error parametervoidparse(String field, MappingParserContext context, Object in)Parse the field value from an ObjectprecludesParameters(FieldMapper.Parameter<?>... ps)requiresParameters(FieldMapper.Parameter<?>... ps)static FieldMapper.Parameter<String>restrictedStringParam(String name, boolean updateable, Function<FieldMapper,String> initializer, String... values)Defines a parameter that takes one of a restricted set of string valuesstatic FieldMapper.Parameter<Script>scriptParam(Function<FieldMapper,Script> initializer)Defines a script parametersetMergeValidator(FieldMapper.MergeValidator<T> mergeValidator)Sets a custom merge validator.setSerializer(FieldMapper.Serializer<T> serializer, Function<T,String> conflictSerializer)Configure a custom serializer for this parameterConfigure a custom serialization check for this parametersetValidator(Consumer<T> validator)Adds validation to a parameter, called after parsing and mergingvoidSets the current value of the parameterstatic FieldMapper.Parameter<Boolean>storeParam(Function<FieldMapper,Boolean> initializer, boolean defaultValue)static FieldMapper.Parameter<List<String>>stringArrayParam(String name, boolean updateable, Function<FieldMapper,List<String>> initializer, List<String> defaultValue)static FieldMapper.Parameter<String>stringParam(String name, boolean updateable, Function<FieldMapper,String> initializer, String defaultValue)Defines a parameter that takes a string valueprotected voidtoXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, boolean includeDefaults)
-
Field Details
-
name
-
-
Constructor Details
-
Parameter
public Parameter(String name, boolean updateable, Supplier<T> defaultValue, TriFunction<String,MappingParserContext,Object,T> parser, Function<FieldMapper,T> initializer)Creates a new Parameter- Parameters:
name- the parameter name, used in parsing and serializationupdateable- whether the parameter can be updated with a new value during a mapping updatedefaultValue- the default value for the parameter, used if unspecified in mappingsparser- a function that converts an object to a parameter valueinitializer- a function that reads a parameter value from an existing mapper
-
-
Method Details
-
getValue
Returns the current value of the parameter -
get
-
getDefaultValue
Returns the default value of the parameter -
setValue
Sets the current value of the parameter -
isConfigured
public boolean isConfigured() -
acceptsNull
Allows the parameter to accept anullvalue -
canAcceptNull
public boolean canAcceptNull() -
addDeprecatedName
Adds a deprecated parameter name. If this parameter name is encountered during parsing, a deprecation warning will be emitted. The parameter will be serialized with its main name. -
deprecated
Deprecates the entire parameter. If this parameter is encountered during parsing, a deprecation warning will be emitted. -
setValidator
Adds validation to a parameter, called after parsing and merging -
setSerializer
public FieldMapper.Parameter<T> setSerializer(FieldMapper.Serializer<T> serializer, Function<T,String> conflictSerializer)Configure a custom serializer for this parameter -
setSerializerCheck
Configure a custom serialization check for this parameter -
alwaysSerialize
Always serialize this parameter, no matter its value -
neverSerialize
Never serialize this parameter, no matter its value -
setMergeValidator
Sets a custom merge validator. By default, merges are accepted if the parameter is updateable, or if the previous and new values are equal -
requiresParameters
-
precludesParameters
-
parse
Parse the field value from an Object- Parameters:
field- the field namecontext- the parser contextin- the object
-
toXContent
protected void toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, boolean includeDefaults) throws IOException- Throws:
IOException
-
boolParam
public static FieldMapper.Parameter<Boolean> boolParam(String name, boolean updateable, Function<FieldMapper,Boolean> initializer, boolean defaultValue)Defines a parameter that takes the valuestrueorfalse- Parameters:
name- the parameter nameupdateable- whether the parameter can be changed by a mapping updateinitializer- a function that reads the parameter value from an existing mapperdefaultValue- the default value, to be used if the parameter is undefined in a mapping
-
explicitBoolParam
public static FieldMapper.Parameter<Explicit<Boolean>> explicitBoolParam(String name, boolean updateable, Function<FieldMapper,Explicit<Boolean>> initializer, boolean defaultValue)Defines a parameter that takes the valuestrueorfalse, and will always serialize its value if configured.- Parameters:
name- the parameter nameupdateable- whether the parameter can be changed by a mapping updateinitializer- a function that reads the parameter value from an existing mapperdefaultValue- the default value, to be used if the parameter is undefined in a mapping
-
doubleParam
public static FieldMapper.Parameter<Double> doubleParam(String name, boolean updateable, Function<FieldMapper,Double> initializer, double defaultValue)Defines a parameter that takes a double value- Parameters:
name- the parameter nameupdateable- whether the parameter can be changed by a mapping updateinitializer- a function that reads the parameter value from an existing mapperdefaultValue- the default value, to be used if the parameter is undefined in a mapping
-
floatParam
public static FieldMapper.Parameter<Float> floatParam(String name, boolean updateable, Function<FieldMapper,Float> initializer, float defaultValue)Defines a parameter that takes a float value- Parameters:
name- the parameter nameupdateable- whether the parameter can be changed by a mapping updateinitializer- a function that reads the parameter value from an existing mapperdefaultValue- the default value, to be used if the parameter is undefined in a mapping
-
intParam
public static FieldMapper.Parameter<Integer> intParam(String name, boolean updateable, Function<FieldMapper,Integer> initializer, int defaultValue)Defines a parameter that takes an integer value- Parameters:
name- the parameter nameupdateable- whether the parameter can be changed by a mapping updateinitializer- a function that reads the parameter value from an existing mapperdefaultValue- the default value, to be used if the parameter is undefined in a mapping
-
stringParam
public static FieldMapper.Parameter<String> stringParam(String name, boolean updateable, Function<FieldMapper,String> initializer, String defaultValue)Defines a parameter that takes a string value- Parameters:
name- the parameter nameupdateable- whether the parameter can be changed by a mapping updateinitializer- a function that reads the parameter value from an existing mapperdefaultValue- the default value, to be used if the parameter is undefined in a mapping
-
stringArrayParam
public static FieldMapper.Parameter<List<String>> stringArrayParam(String name, boolean updateable, Function<FieldMapper,List<String>> initializer, List<String> defaultValue) -
restrictedStringParam
public static FieldMapper.Parameter<String> restrictedStringParam(String name, boolean updateable, Function<FieldMapper,String> initializer, String... values)Defines a parameter that takes one of a restricted set of string values- Parameters:
name- the parameter nameupdateable- whether the parameter can be changed by a mapping updateinitializer- a function that reads the parameter value from an existing mappervalues- the set of values that the parameter can take. The first value in the list is the default value, to be used if the parameter is undefined in a mapping
-
analyzerParam
public static FieldMapper.Parameter<NamedAnalyzer> analyzerParam(String name, boolean updateable, Function<FieldMapper,NamedAnalyzer> initializer, Supplier<NamedAnalyzer> defaultAnalyzer)Defines a parameter that takes an analyzer name- Parameters:
name- the parameter nameupdateable- whether the parameter can be changed by a mapping updateinitializer- a function that reads the parameter value from an existing mapperdefaultAnalyzer- the default value, to be used if the parameter is undefined in a mapping
-
metaParam
Declares a metadata parameter -
boostParam
-
indexParam
public static FieldMapper.Parameter<Boolean> indexParam(Function<FieldMapper,Boolean> initializer, boolean defaultValue) -
storeParam
public static FieldMapper.Parameter<Boolean> storeParam(Function<FieldMapper,Boolean> initializer, boolean defaultValue) -
docValuesParam
public static FieldMapper.Parameter<Boolean> docValuesParam(Function<FieldMapper,Boolean> initializer, boolean defaultValue) -
scriptParam
Defines a script parameter- Parameters:
initializer- retrieves the equivalent parameter from an existing FieldMapper for use in merges- Returns:
- a script parameter
-
onScriptErrorParam
public static FieldMapper.Parameter<String> onScriptErrorParam(Function<FieldMapper,String> initializer, FieldMapper.Parameter<Script> dependentScriptParam)Defines an on_script_error parameter- Parameters:
initializer- retrieves the equivalent parameter from an existing FieldMapper for use in mergesdependentScriptParam- the corresponding required script parameter- Returns:
- a new on_error_script parameter
-