Class MultiValuesConverterFactory
- java.lang.Object
-
- io.micronaut.core.convert.converters.MultiValuesConverterFactory
-
public class MultiValuesConverterFactory extends java.lang.Object
A factory for creation of variousFormattingTypeConverter
s to and fromConvertibleMultiValues
type. The other types are eitherIterable
orMap
or POJOObject
. The converters only work when anArgumentConversionContext
is provided (so the type is an argument), as the name of the parameter needs to be retrieved from there. AlsoFormat
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MultiValuesConverterFactory.AbstractConverterToMultiValues<T>
An abstract class to convert to ConvertibleMultiValues.static class
MultiValuesConverterFactory.IterableToMultiValuesConverter
A converter fromIterable
toConvertibleMultiValues
.static class
MultiValuesConverterFactory.MapToMultiValuesConverter
A converter fromMap
toConvertibleMultiValues
.static class
MultiValuesConverterFactory.MultiValuesToIterableConverter
A converter to convert fromConvertibleMultiValues
to anIterable
.static class
MultiValuesConverterFactory.MultiValuesToMapConverter
A converter to convert fromConvertibleMultiValues
to anMap
.static class
MultiValuesConverterFactory.MultiValuesToObjectConverter
A converter to convert fromConvertibleMultiValues
to a POJOObject
.static class
MultiValuesConverterFactory.ObjectToMultiValuesConverter
A converter from genericObject
toConvertibleMultiValues
.
-
Field Summary
Fields Modifier and Type Field 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 forMap
and POJOObject
in square after the original parameter name.static java.lang.String
FORMAT_MULTI
Values are repeated with the same parameter name forIterable
, whileMap
and POJOObject
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 Summary
Constructors Constructor Description MultiValuesConverterFactory()
-
-
-
Field Detail
-
FORMAT_CSV
public static final java.lang.String 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:
- Constant Field Values
-
FORMAT_SSV
public static final java.lang.String FORMAT_SSV
Values separated with spaces " " similarly to CSV being separated with commas.- See Also:
- Constant Field Values
-
FORMAT_PIPES
public static final java.lang.String FORMAT_PIPES
Values separated with the pipe "|" symbol similarly to CSV being separated with commas.- See Also:
- Constant Field Values
-
FORMAT_MULTI
public static final java.lang.String 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:
- Constant Field Values
-
FORMAT_DEEP_OBJECT
public static final java.lang.String 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:
- Constant Field Values
-
-