beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eddie O'Neil" <ekon...@gmail.com>
Subject Re: @Control and BEEHIVE-1087
Date Mon, 03 Apr 2006 22:13:45 GMT
  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 <chad.schoettger@gmail.com> 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 <chad.schoettger@gmail.com> wrote:
> >
> > Good point, I think it defnitily should, I'll go ahead and update it.
> >
> >  - Chad
> >
> >
> > On 4/3/06, Eddie O'Neil <ekoneil@gmail.com> 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 <chad.schoettger@gmail.com > 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 <ekoneil@gmail.com> 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
> > > > >
> > > >
> > > >
> > >
> >
> >
>
>

Mime
View raw message