Oh, yeah -- good point. I shot that mail off w/o thinking about it much. :)
Too bad it's not possible to constrain the annotation to have an "annotatedwith" keyword or something. Given that, you're right -- we'll leave it as is. Eddie On 4/3/06, Chad Schoettger <[EMAIL PROTECTED]> wrote: > After taking a closer look, it appears that this won't work since a control > interface class does not extend the @ControlInterface annotation. > > - Chad > > On 4/3/06, Chad Schoettger <[EMAIL PROTECTED]> wrote: > > > > 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 > > > > > > > > > > > > > > > > > > > > > >
