users@jsr311.java.net

Re: declared return-type ignored for selection of MessageBodyWriter?

From: Reto Bachmann-Gmür <reto_at_gmuer.ch>
Date: Mon, 29 Sep 2008 16:45:05 +0200

Marc Hadley wrote:
> It sounds like you are doing the correct thing. The generic type is
> either the declared return type of the method
Ok, so the follow-up question: is this the declared return type of the
method in the root-resource class or of the method in the superclass or
interface from where the annotations are taken (for the case where the
method in the root-resource inherits the annotations but declares a more
concrete return type)?

> or the type returned by a
> GenericEntity instance.
>
> Unless I'm misunderstanding, I think this is somewhat orthogonal to
> issue 46 since that will only come into play during step 4 of section
> 4.2.2 (sorting to find the most appropriate writer). Writers can reject
> generic types they don't support in step 3 and then won't be considered
> in step 4.
I think to select the best of the possible combination of
resource-method and MessageBodyWriter satisfying a request, we should
know which writer will be selected before actually invoking a method.

Reto
>
> Marc.
>
> On Sep 29, 2008, at 10:04 AM, Reto Bachmann-Gmür wrote:
>
>> Hello
>>
>> Rereading section 4.2.2 I'm insecure if its correct to look at the
>> declared return type of a method (for those that are not Response or
>> GenericEntity) for selecting the MessageBodyWriter.
>>
>> Currently I'm passing the type of the object returned at runtime as
>> the "type" argument to Providers.getMessageBodyWriter and the declared
>> return type as genericType.
>>
>> Does "for other return types it is the returned object." (section
>> 4.2.2) means that only the class of the object returned at runtime is
>> to be considered?
>>
>> Issue 46 I think would be easier to solve looking at the declared
>> return-type only, but currently it would be most useful to consider both.
>>
>> Cheers,
>> reto
>>
>
> ---
> Marc Hadley <marc.hadley at sun.com>
> CTO Office, Sun Microsystems.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jsr311.dev.java.net
> For additional commands, e-mail: users-help_at_jsr311.dev.java.net
>