public class MultiValuesConverterFactory
extends java.lang.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 java.lang.String |
FORMAT_CSV
Values separated with commas ",".
|
static java.lang.String |
FORMAT_DEEP_OBJECT
Values are put in the representation with property name for
Map and POJO Object in square
after the original parameter name. |
static java.lang.String |
FORMAT_MULTI
Values are repeated with the same parameter name for
Iterable , while Map and POJO Object
would be expanded with its property names. |
static java.lang.String |
FORMAT_PIPES
Values separated with the pipe "|" symbol similarly to CSV being separated with commas.
|
static java.lang.String |
FORMAT_SSV
Values separated with spaces " " similarly to CSV being separated with commas.
|
Constructor and Description |
---|
MultiValuesConverterFactory() |
public static final java.lang.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 &emsp | param=["Mike", "Adam", "Kate"] | "param=Mike,Adam,Kate" |
Map | param=["name": "Mike", "age": "30"] &emsp | "param=name,Mike,age,30" |
Object | param={name: "Mike", age: 30} | "param=name,Mike,age,30" |
public static final java.lang.String FORMAT_SSV
public static final java.lang.String FORMAT_PIPES
public static final java.lang.String FORMAT_MULTI
Iterable
, while Map
and POJO Object
would be expanded with its property names.
Type | Example value | Example representation |
---|---|---|
Iterable &emsp | param=["Mike", "Adam", "Kate"] | "param=Mike¶m=Adam¶m=Kate |
Map | param=["name": "Mike", "age": "30"] &emsp | "name=Mike&age=30" |
Object | param={name: "Mike", age: 30} | "name=Mike&age=30" |
public static final java.lang.String FORMAT_DEEP_OBJECT
Map
and POJO Object
in square
after the original parameter name.
Type | Example value | Example representation |
---|---|---|
Iterable &emsp | param=["Mike", "Adam", "Kate"] | "param[0]=Mike¶m[1]=Adam¶m[2]=Kate |
Map | param=["name": "Mike", "age": "30"] &emsp | "param[name]=Mike¶m[age]=30" |
Object | param={name: "Mike", age: 30} | "param[name]=Mike¶m[age]=30" |