Thanks. So, I suppose I could do (((ParameterizedType) genericType).getActualTypeArguments() to get hold of the actual Integer in your example, if I'm not mistaken. Useful to know for next time. :)
Regards, Christian On Thu, Oct 6, 2016 at 1:32 PM, Sergey Beryozkin <[email protected]> wrote: > Hi Christian > > > If you have something like > > MyType<Integer> > > then the generic type will help the converter implementation to figure out > that MyType is parameterized by Integer. > > If you have List<MyType<Integer>> then as I noted earlier the List will be > created by the runtime while individual matrix/query etc properties will be > converted to MyType<Integer> by the converter > > Sergey > > > On 06/10/16 00:33, Christian Balzer wrote: >> >> Hi all, >> >> This is probably the wrong place, but... >> >> Can anyone explain to me in plain simple English what the genericType >> parameter below is good for, please? >> >> public class FooHandler implements ParamConverterProvider { >> @Override >> public <T> ParamConverter<T> getConverter(final Class<T> rawType, >> Type genericType, Annotation[] annotations) { >> >> I'm afraid I don't quite understand the JavaDoc from >> >> https://docs.oracle.com/javaee/7/api/javax/ws/rs/ext/ParamConverterProvider.html >> - and I couldn't find an example anywhere... >> >> From the docs: >>>> >>>> genericType - the type of object to be converted. E.g. if an String >>>> value representing the injected request parameter is to be converted into a >>>> method parameter, this will be the formal type of the method parameter as >>>> returned by Class.getGenericParameterTypes. << >> >> >> From that, I would have expected that for this method signature: >>> >>> public Response foo(@MatrixParam("l") List<String> myList) { >> >> genericType would be String? >> >> As in: >>>> >>>> if an String value ["abc"] representing the injected request parameter >>>> [";l", i.e. ";l=abc"] is to be converted into a method parameter [myList], >>>> this will be the formal type [<String>] of the method parameter >>>> [List<String>] as returned by Class.getGenericParameterTypes. << >> >> >> Am I close? >> >> Kind regards, >> >> Christian >> > > > -- > Sergey Beryozkin > > Talend Community Coders > http://coders.talend.com/
