Good point, I think it defnitily should, I'll go ahead and update it. - Chad
On 4/3/06, Eddie O'Neil <[EMAIL PROTECTED]> wrote: > > 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 > > > > > > > >
