Package org.opensearch.index.mapper
Class ParametrizedFieldMapper.Parameter<T>
java.lang.Object
org.opensearch.index.mapper.ParametrizedFieldMapper.Parameter<T>
- Type Parameters:
T
- the type of the value the parameter holds
- All Implemented Interfaces:
java.util.function.Supplier<T>
- Enclosing class:
- ParametrizedFieldMapper
public static final class ParametrizedFieldMapper.Parameter<T>
extends java.lang.Object
implements java.util.function.Supplier<T>
A configurable parameter for a field mapper
-
Field Summary
Fields Modifier and Type Field Description java.lang.String
name
-
Constructor Summary
Constructors Constructor Description Parameter(java.lang.String name, boolean updateable, java.util.function.Supplier<T> defaultValue, TriFunction<java.lang.String,Mapper.TypeParser.ParserContext,java.lang.Object,T> parser, java.util.function.Function<FieldMapper,T> initializer)
Creates a new Parameter -
Method Summary
Modifier and Type Method Description ParametrizedFieldMapper.Parameter<T>
acceptsNull()
Allows the parameter to accept anull
valueParametrizedFieldMapper.Parameter<T>
addDeprecatedName(java.lang.String deprecatedName)
Adds a deprecated parameter name.ParametrizedFieldMapper.Parameter<T>
alwaysSerialize()
Always serialize this parameter, no matter its valuestatic ParametrizedFieldMapper.Parameter<NamedAnalyzer>
analyzerParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,NamedAnalyzer> initializer, java.util.function.Supplier<NamedAnalyzer> defaultAnalyzer)
Defines a parameter that takes an analyzer namestatic ParametrizedFieldMapper.Parameter<java.lang.Boolean>
boolParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.Boolean> initializer, boolean defaultValue)
Defines a parameter that takes the valuestrue
orfalse
static ParametrizedFieldMapper.Parameter<java.lang.Float>
boostParam()
static ParametrizedFieldMapper.Parameter<java.lang.Boolean>
docValuesParam(java.util.function.Function<FieldMapper,java.lang.Boolean> initializer, boolean defaultValue)
static ParametrizedFieldMapper.Parameter<java.lang.Double>
doubleParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.Double> initializer, double defaultValue)
Defines a parameter that takes a double valuestatic ParametrizedFieldMapper.Parameter<Explicit<java.lang.Boolean>>
explicitBoolParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,Explicit<java.lang.Boolean>> initializer, boolean defaultValue)
Defines a parameter that takes the valuestrue
orfalse
, and will always serialize its value if configured.static ParametrizedFieldMapper.Parameter<java.lang.Float>
floatParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.Float> initializer, float defaultValue)
Defines a parameter that takes a float valueT
get()
T
getDefaultValue()
Returns the default value of the parameterT
getValue()
Returns the current value of the parameterstatic ParametrizedFieldMapper.Parameter<java.lang.Boolean>
indexParam(java.util.function.Function<FieldMapper,java.lang.Boolean> initializer, boolean defaultValue)
static ParametrizedFieldMapper.Parameter<java.lang.Integer>
intParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.Integer> initializer, int defaultValue)
Defines a parameter that takes an integer valueboolean
isConfigured()
static ParametrizedFieldMapper.Parameter<java.util.Map<java.lang.String,java.lang.String>>
metaParam()
Declares a metadata parameterParametrizedFieldMapper.Parameter<T>
neverSerialize()
Never serialize this parameter, no matter its valuestatic ParametrizedFieldMapper.Parameter<java.lang.String>
restrictedStringParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.String> initializer, java.lang.String... values)
Defines a parameter that takes one of a restricted set of string valuesParametrizedFieldMapper.Parameter<T>
setMergeValidator(java.util.function.BiPredicate<T,T> mergeValidator)
Sets a custom merge validator.ParametrizedFieldMapper.Parameter<T>
setSerializer(ParametrizedFieldMapper.Serializer<T> serializer, java.util.function.Function<T,java.lang.String> conflictSerializer)
Configure a custom serializer for this parameterParametrizedFieldMapper.Parameter<T>
setSerializerCheck(ParametrizedFieldMapper.SerializerCheck<T> check)
Configure a custom serialization check for this parameterParametrizedFieldMapper.Parameter<T>
setValidator(java.util.function.Consumer<T> validator)
Adds validation to a parameter, called after parsing and mergingvoid
setValue(T value)
Sets the current value of the parameterstatic ParametrizedFieldMapper.Parameter<java.lang.Boolean>
storeParam(java.util.function.Function<FieldMapper,java.lang.Boolean> initializer, boolean defaultValue)
static ParametrizedFieldMapper.Parameter<java.util.List<java.lang.String>>
stringArrayParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.util.List<java.lang.String>> initializer, java.util.List<java.lang.String> defaultValue)
static ParametrizedFieldMapper.Parameter<java.lang.String>
stringParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.String> initializer, java.lang.String defaultValue)
Defines a parameter that takes a string valueprotected void
toXContent(org.opensearch.common.xcontent.XContentBuilder builder, boolean includeDefaults)
-
Field Details
-
name
public final java.lang.String name
-
-
Constructor Details
-
Parameter
public Parameter(java.lang.String name, boolean updateable, java.util.function.Supplier<T> defaultValue, TriFunction<java.lang.String,Mapper.TypeParser.ParserContext,java.lang.Object,T> parser, java.util.function.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
- Specified by:
get
in interfacejava.util.function.Supplier<T>
-
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 anull
value -
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. -
setValidator
Adds validation to a parameter, called after parsing and merging -
setSerializer
public ParametrizedFieldMapper.Parameter<T> setSerializer(ParametrizedFieldMapper.Serializer<T> serializer, java.util.function.Function<T,java.lang.String> conflictSerializer)Configure a custom serializer for this parameter -
setSerializerCheck
public ParametrizedFieldMapper.Parameter<T> setSerializerCheck(ParametrizedFieldMapper.SerializerCheck<T> check)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
public ParametrizedFieldMapper.Parameter<T> setMergeValidator(java.util.function.BiPredicate<T,T> mergeValidator)Sets a custom merge validator. By default, merges are accepted if the parameter is updateable, or if the previous and new values are equal -
toXContent
protected void toXContent(org.opensearch.common.xcontent.XContentBuilder builder, boolean includeDefaults) throws java.io.IOException- Throws:
java.io.IOException
-
boolParam
public static ParametrizedFieldMapper.Parameter<java.lang.Boolean> boolParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.Boolean> initializer, boolean defaultValue)Defines a parameter that takes the valuestrue
orfalse
- 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 ParametrizedFieldMapper.Parameter<Explicit<java.lang.Boolean>> explicitBoolParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,Explicit<java.lang.Boolean>> initializer, boolean defaultValue)Defines a parameter that takes the valuestrue
orfalse
, 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 ParametrizedFieldMapper.Parameter<java.lang.Double> doubleParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.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 ParametrizedFieldMapper.Parameter<java.lang.Float> floatParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.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 ParametrizedFieldMapper.Parameter<java.lang.Integer> intParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.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 ParametrizedFieldMapper.Parameter<java.lang.String> stringParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.String> initializer, java.lang.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 ParametrizedFieldMapper.Parameter<java.util.List<java.lang.String>> stringArrayParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.util.List<java.lang.String>> initializer, java.util.List<java.lang.String> defaultValue) -
restrictedStringParam
public static ParametrizedFieldMapper.Parameter<java.lang.String> restrictedStringParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,java.lang.String> initializer, java.lang.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 ParametrizedFieldMapper.Parameter<NamedAnalyzer> analyzerParam(java.lang.String name, boolean updateable, java.util.function.Function<FieldMapper,NamedAnalyzer> initializer, java.util.function.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
public static ParametrizedFieldMapper.Parameter<java.util.Map<java.lang.String,java.lang.String>> metaParam()Declares a metadata parameter -
indexParam
public static ParametrizedFieldMapper.Parameter<java.lang.Boolean> indexParam(java.util.function.Function<FieldMapper,java.lang.Boolean> initializer, boolean defaultValue) -
storeParam
public static ParametrizedFieldMapper.Parameter<java.lang.Boolean> storeParam(java.util.function.Function<FieldMapper,java.lang.Boolean> initializer, boolean defaultValue) -
docValuesParam
public static ParametrizedFieldMapper.Parameter<java.lang.Boolean> docValuesParam(java.util.function.Function<FieldMapper,java.lang.Boolean> initializer, boolean defaultValue) -
boostParam
-