I'm actually already doing this using the latest Jersey code which seems
to handle finding the inherited @GET methods so, at least using the
Jersey implementation the method annotations aren't a concern. Its
really just the class's @Path annotation that is causing me to force
users of my Abstract class to know about how their methods are being
exposed.
Best Regards,
Adam Karl
-----Original Message-----
From: Marc.Hadley_at_Sun.COM [mailto:Marc.Hadley_at_Sun.COM]
Sent: Friday, February 01, 2008 5:53 PM
To: users_at_jsr311.dev.java.net
Subject: Re: Inherited Path
IIRC, @Inherited only applies to classes so, even if @Path was
inherited, any annotations on the abstract service class methods (@GET,
@ProduceMime etc) wouldn't be inherited and a subclass would appear to
unannotated except for the class-level annotations.
Marc.
On Feb 1, 2008, at 12:24 PM, Adam Karl wrote:
> Here is my situation. I would like to define an abstract Service
> class such as below. Now when the real service classes extend my
> service class, I would like them to inherit the path annotation.
> This allows the service classes to know nothing about the
> implementation of my service architecture other than the fact that
> they should be extending my abstract service class. Currently, the
> @Path annotation is not @Inherited so this doesn't work for me. Is
> there a reason why @Path cannot be @Inherited?
>
> @Path("{serviceClassName}")
> public abstract class AbstractService
> {
> public AbstractService
> getServiceClass(@PathParam("serviceClassName") String
> serviceClassName)
> {
> return this;
> }
> ...
> }
>
> ____________________________________________
> Adam Karl
> Nighthawk Radiology
> Software Engineer
>
> Phone: +1 414 220 4295 ext-8319
> Email: akarl_at_nighthawkrad.net
>
>
---
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