Class MultiValuesConverterFactory


  • public class MultiValuesConverterFactory
    extends java.lang.Object
    A factory for creation of various FormattingTypeConverters 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
    • Field Detail

      • FORMAT_CSV

        public static final java.lang.String FORMAT_CSV
        Values separated with commas ",". In case of iterables, the values are converted to 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.
        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"
        Note that ambiguity may arise when the values contain commas themselves after being converted to String.
        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 for Iterable, while Map and POJO Object would be expanded with its property names.
        Examples
        Type Example value Example representation
        Iterable   param=["Mike", "Adam", "Kate"] "param=Mike&param=Adam&param=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 for Map and POJO Object in square after the original parameter name.
        Examples
        Type Example value Example representation
        Iterable   param=["Mike", "Adam", "Kate"] "param[0]=Mike&param[1]=Adam&param[2]=Kate
        Map param=["name": "Mike", "age": "30"]   "param[name]=Mike&param[age]=30"
        Object param={name: "Mike", age: 30} "param[name]=Mike&param[age]=30"
        See Also:
        Constant Field Values
    • Constructor Detail

      • MultiValuesConverterFactory

        public MultiValuesConverterFactory()