Class MultiValuesConverterFactory
java.lang.Object
io.micronaut.core.convert.converters.MultiValuesConverterFactory
A factory for creation of various
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".- Since:
- 3.0.0
- Author:
- Andriy Dmytruk
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
An abstract class to convert to ConvertibleMultiValues.static class
A converter fromIterable
toConvertibleMultiValues
.static class
A converter fromMap
toConvertibleMultiValues
.static class
A converter to convert fromConvertibleMultiValues
to anIterable
.static class
A converter to convert fromConvertibleMultiValues
to anMap
.static class
A converter to convert fromConvertibleMultiValues
to a POJOObject
.static class
A converter from genericObject
toConvertibleMultiValues
. -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Values separated with commas ",".static final String
static final String
static final String
Values separated with the pipe "|" symbol similarly to CSV being separated with commas.static final String
Values separated with spaces " " similarly to CSV being separated with commas. -
Constructor Summary
-
Method Summary
-
Field Details
-
FORMAT_CSV
Values separated with commas ",". In case of iterables, the values are converted toString
and joined with comma delimiter. In case ofMap
or a POJOObject
the keys and values are alternating and all delimited with commas.Examples 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" - See Also:
-
FORMAT_SSV
Values separated with spaces " " similarly to CSV being separated with commas.- See Also:
-
FORMAT_PIPES
Values separated with the pipe "|" symbol similarly to CSV being separated with commas.- See Also:
-
FORMAT_MULTI
Values are repeated with the same parameter name forIterable
, whileMap
and POJOObject
would be expanded with its property names.Examples 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" - See Also:
-
FORMAT_DEEP_OBJECT
Values are put in the representation with property name forMap
and POJOObject
in square after the original parameter name.Examples 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" - See Also:
-
-
Constructor Details
-
MultiValuesConverterFactory
public MultiValuesConverterFactory()
-