Chad--

  Thanks for fixing that -- one question:  Should the "interfaceHint"
annotation contain a generic wildcard like:

  Class<? extends ControlInterface> interfaceHint() default
ControlInterface.class;

That way, the value of the type is constrained to be a subclass of
ControlInterface.

  Thoughts?

Eddie



On 3/31/06, Chad Schoettger <[EMAIL PROTECTED]> wrote:
> Hey Eddie,
>
> I have some time to take look at this one.  I'll go ahead and start working
> on a fix, assuming no one on the list has any issues with this change.
>
>  - Chad
>
> On 3/31/06, Eddie O'Neil <[EMAIL PROTECTED]> wrote:
> >
> > Jess--
> >
> >   Heh...that's a pretty interesting problem.  After looking at the
> > repro, it seems like this is the case that doesn't work:
> >
> > src/
> >   a/
> >     FooControl.java
> >     FooControlImpl.java
> >   b/
> >     FooControl.java
> >     FooControlImpl.java
> >   ControlClient.java
> >
> > where ControlClient has something like:
> >
> >   @Control
> >   private FooControlBean _fooControl;
> >
> > If I understand this correctly, the problem is that the
> > ControlClientAnnotationProcessor takes a best guess when it can't find
> > an exact match for the name of the Control's interface type.
> >
> >   An "interfaceHint" attribute would allow the AP a chance to resolve
> > the type if the type isn't otherwise available from the field's
> > declaration.  The above example would then look something like:
> >
> >   @Control(interfaceHint=a.FooControl.class)
> >   private FooControlBean _fooControl;
> >
> > This would give the AP an "out" (if you will) to handle cases like that
> > above.
> >
> > I'm fine making this addition -- thoughts from anyone else?
> >
> > Eddie
> >
>
>

Reply via email to