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 non-thread-safe instance of ParameterConverters using the default table transformers,
default dependencies, a SilentStepMonitor, English as Locale and "," as list
separator.
|
ParameterConverters(ResourceLoader resourceLoader,
TableTransformers tableTransformers)
Creates a non-thread-safe instance of ParameterConverters using default
dependencies, a SilentStepMonitor, English as Locale and "," as list
separator.
|
ParameterConverters(ResourceLoader resourceLoader,
TableTransformers tableTransformers,
boolean threadSafe)
Create a ParameterConverters with given thread-safety
|
ParameterConverters(StepMonitor monitor,
ResourceLoader resourceLoader,
TableTransformers tableTransformers)
Creates a ParameterConverters using given StepMonitor
|
ParameterConverters(StepMonitor monitor,
ResourceLoader resourceLoader,
TableTransformers tableTransformers,
Locale locale,
String listSeparator,
boolean threadSafe)
Creates a ParameterConverters for the given StepMonitor, Locale, list
separator and thread-safety.
|
| 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,
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(ResourceLoader resourceLoader, TableTransformers tableTransformers)
resourceLoader - the resource loadertableTransformers - the table transformerspublic ParameterConverters(StepMonitor monitor, ResourceLoader resourceLoader, TableTransformers tableTransformers)
monitor - the StepMonitor to useresourceLoader - the resource loadertableTransformers - the table transformerspublic ParameterConverters(ResourceLoader resourceLoader, TableTransformers tableTransformers, boolean threadSafe)
resourceLoader - the resource loadertableTransformers - the table transformersthreadSafe - the boolean flag to determine if access to
ParameterConverters.ParameterConverter should be thread-safepublic ParameterConverters(StepMonitor monitor, ResourceLoader resourceLoader, TableTransformers tableTransformers, Locale locale, String listSeparator, boolean threadSafe)
monitor - the StepMonitor reporting the conversionsresourceLoader - the resource loadertableTransformers - 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, 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–2017. All rights reserved.