public class ParameterConverters extends Object
Facade responsible for converting parameter values to Java objects. It allows
the registration of several ParameterConverters.ParameterConverter
instances, and the
first one that is found to matches the appropriate parameter type is used.
Converters for several Java types are provided out-of-the-box:
Modifier and Type | Class and Description |
---|---|
static class |
ParameterConverters.BooleanConverter |
static class |
ParameterConverters.BooleanListConverter |
static class |
ParameterConverters.DateConverter
Parses value to a
Date using an injectable DateFormat
(defaults to new SimpleDateFormat("dd/MM/yyyy")) |
static class |
ParameterConverters.EnumConverter
Parses value to any
Enum |
static class |
ParameterConverters.EnumListConverter
Parses value to list of the same
Enum , using an injectable value
separator (defaults to ",") and trimming each element of the list. |
static class |
ParameterConverters.ExamplesTableConverter
Converts value to
ExamplesTable using a
ExamplesTableFactory . |
static class |
ParameterConverters.ExamplesTableParametersConverter
Converts ExamplesTable to list of parameters, mapped to annotated custom
types.
|
static class |
ParameterConverters.FluentEnumConverter
An
ParameterConverters.EnumConverter allowing stories prose to be more natural. |
static class |
ParameterConverters.JsonConverter |
static class |
ParameterConverters.MethodReturningConverter
Invokes method on instance to return value.
|
static class |
ParameterConverters.NumberConverter
Converts values to numbers, supporting any subclass of
Number
(including generic Number type), and it unboxed counterpart, using a
NumberFormat to parse to a Number and to convert it to a
specific number type:
Byte, byte: Number.byteValue()
Short, short: Number.shortValue()
Integer, int: Number.intValue()
Float, float: Number.floatValue()
Long, long: Number.longValue()
Double, double: Number.doubleValue()
BigInteger: BigInteger#valueOf(Long)
BigDecimal: BigDecimal#valueOf(Double)
If no number format is provided, it defaults to
NumberFormat#getInstance(Locale.ENGLISH) . |
static class |
ParameterConverters.NumberListConverter
Converts value to list of numbers.
|
static interface |
ParameterConverters.ParameterConverter |
static class |
ParameterConverters.ParameterConvertionFailed |
static class |
ParameterConverters.StringListConverter
Converts value to list of String.
|
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_LIST_SEPARATOR |
static Locale |
DEFAULT_NUMBER_FORMAT_LOCAL |
static StepMonitor |
DEFAULT_STEP_MONITOR |
static boolean |
DEFAULT_THREAD_SAFETY |
Constructor and Description |
---|
ParameterConverters()
Creates a ParameterConverters using the default resource loader and table transformers,
a SilentStepMonitor, English as Locale and "," as list separator.
|
ParameterConverters(ResourceLoader resourceLoader)
Creates a ParameterConverters of ParameterConverters using the given resource loader.
|
ParameterConverters(ResourceLoader resourceLoader,
ParameterControls parameterControls,
TableTransformers tableTransformers,
boolean threadSafe)
Create a ParameterConverters with given thread-safety
|
ParameterConverters(ResourceLoader resourceLoader,
TableTransformers tableTransformers)
Creates a ParameterConverters given resource loader and table transformers.
|
ParameterConverters(StepMonitor monitor,
ResourceLoader resourceLoader,
ParameterControls parameterControls,
TableTransformers tableTransformers)
Creates a ParameterConverters using given StepMonitor, resource loader and table transformers.
|
ParameterConverters(StepMonitor monitor,
ResourceLoader resourceLoader,
ParameterControls parameterControls,
TableTransformers tableTransformers,
Locale locale,
String listSeparator,
boolean threadSafe)
Creates a ParameterConverters for the given StepMonitor, Locale, list
separator and thread-safety.
|
ParameterConverters(TableTransformers tableTransformers)
Creates a ParameterConverters using the given table transformers.
|
Modifier and Type | Method and Description |
---|---|
ParameterConverters |
addConverters(List<ParameterConverters.ParameterConverter> converters) |
ParameterConverters |
addConverters(ParameterConverters.ParameterConverter... converters) |
Object |
convert(String value,
Type type) |
protected ParameterConverters.ParameterConverter[] |
defaultConverters(ResourceLoader resourceLoader,
ParameterControls parameterControls,
TableTransformers tableTransformers,
Locale locale,
String listSeparator) |
ParameterConverters |
newInstanceAdding(ParameterConverters.ParameterConverter converter) |
static List<String> |
trim(List<String> values) |
public static final StepMonitor DEFAULT_STEP_MONITOR
public static final Locale DEFAULT_NUMBER_FORMAT_LOCAL
public static final String DEFAULT_LIST_SEPARATOR
public static final boolean DEFAULT_THREAD_SAFETY
public ParameterConverters()
public ParameterConverters(TableTransformers tableTransformers)
tableTransformers
- the table transformerspublic ParameterConverters(ResourceLoader resourceLoader)
resourceLoader
- the resource loaderpublic ParameterConverters(ResourceLoader resourceLoader, TableTransformers tableTransformers)
resourceLoader
- the resource loadertableTransformers
- the table transformerspublic ParameterConverters(StepMonitor monitor, ResourceLoader resourceLoader, ParameterControls parameterControls, TableTransformers tableTransformers)
monitor
- the StepMonitor to useresourceLoader
- the resource loaderparameterControls
- the parameter controlstableTransformers
- the table transformerspublic ParameterConverters(ResourceLoader resourceLoader, ParameterControls parameterControls, TableTransformers tableTransformers, boolean threadSafe)
resourceLoader
- the resource loaderparameterControls
- the parameter controlstableTransformers
- the table transformersthreadSafe
- the boolean flag to determine if access to
ParameterConverters.ParameterConverter
should be thread-safepublic ParameterConverters(StepMonitor monitor, ResourceLoader resourceLoader, ParameterControls parameterControls, TableTransformers tableTransformers, Locale locale, String listSeparator, boolean threadSafe)
monitor
- the StepMonitor reporting the conversionsresourceLoader
- the resource loaderparameterControls
- the parameter controlstableTransformers
- the table transformerslocale
- the Locale to use when reading numberslistSeparator
- the String to use as list separatorthreadSafe
- the boolean flag to determine if modification of
ParameterConverters.ParameterConverter
should be thread-safeprotected ParameterConverters.ParameterConverter[] defaultConverters(ResourceLoader resourceLoader, ParameterControls parameterControls, TableTransformers tableTransformers, Locale locale, String listSeparator)
public ParameterConverters addConverters(ParameterConverters.ParameterConverter... converters)
public ParameterConverters addConverters(List<ParameterConverters.ParameterConverter> converters)
public ParameterConverters newInstanceAdding(ParameterConverters.ParameterConverter converter)
Copyright © 2003–2018. All rights reserved.