public class MultiValuesConverterFactory extends Object
FormattingTypeConverter
s to and from ConvertibleMultiValues
type.
The other types are either Iterable
or Map
or POJO Object
.
The converters only work when an ArgumentConversionContext
is provided (so the type is an argument), as
the name of the parameter needs to be retrieved from there.
Also Format
annotation is required and needs to have one of the below mentioned formats: "csv", "ssv",
"pipes", "multi", "deep-object". The format can be written in any case, e.g. "DEEP_OBJECT", "deep-object".Modifier and Type | Class and Description |
---|---|
static class |
MultiValuesConverterFactory.AbstractConverterToMultiValues<T>
An abstract class to convert to ConvertibleMultiValues.
|
static class |
MultiValuesConverterFactory.IterableToMultiValuesConverter
A converter from
Iterable to ConvertibleMultiValues . |
static class |
MultiValuesConverterFactory.MapToMultiValuesConverter
A converter from
Map to ConvertibleMultiValues . |
static class |
MultiValuesConverterFactory.MultiValuesToIterableConverter
A converter to convert from
ConvertibleMultiValues to an Iterable . |
static class |
MultiValuesConverterFactory.MultiValuesToMapConverter
A converter to convert from
ConvertibleMultiValues to an Map . |
static class |
MultiValuesConverterFactory.MultiValuesToObjectConverter
A converter to convert from
ConvertibleMultiValues to a POJO Object . |
static class |
MultiValuesConverterFactory.ObjectToMultiValuesConverter
A converter from generic
Object to ConvertibleMultiValues . |
Modifier and Type | Field and Description |
---|---|
static String |
FORMAT_CSV
Values separated with commas ",".
|
static String |
FORMAT_DEEP_OBJECT
|
static String |
FORMAT_MULTI
|
static String |
FORMAT_PIPES
Values separated with the pipe "|" symbol similarly to CSV being separated with commas.
|
static String |
FORMAT_SSV
Values separated with spaces " " similarly to CSV being separated with commas.
|
Constructor and Description |
---|
MultiValuesConverterFactory() |
public static final String FORMAT_CSV
String
and joined
with comma delimiter. In case of Map
or a POJO Object
the keys and values are alternating and all
delimited with commas.
Type | Example value | Example representation |
---|---|---|
Iterable | param=["Mike", "Adam", "Kate"] | "param=Mike,Adam,Kate" |
Map | param=["name": "Mike", "age": "30"] | "param=name,Mike,age,30" |
Object | param={name: "Mike", age: 30} | "param=name,Mike,age,30" |
public static final String FORMAT_SSV
public static final String FORMAT_PIPES
public static final String FORMAT_MULTI
Iterable
, while Map
and POJO Object
would be expanded with its property names.
Type | Example value | Example representation |
---|---|---|
Iterable | param=["Mike", "Adam", "Kate"] | "param=Mike¶m=Adam¶m=Kate |
Map | param=["name": "Mike", "age": "30"] | "name=Mike&age=30" |
Object | param={name: "Mike", age: 30} | "name=Mike&age=30" |
public static final String FORMAT_DEEP_OBJECT
Map
and POJO Object
in square
after the original parameter name.
Type | Example value | Example representation |
---|---|---|
Iterable | param=["Mike", "Adam", "Kate"] | "param[0]=Mike¶m[1]=Adam¶m[2]=Kate |
Map | param=["name": "Mike", "age": "30"] | "param[name]=Mike¶m[age]=30" |
Object | param={name: "Mike", age: 30} | "param[name]=Mike¶m[age]=30" |