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 > > > >
