e.g.,

class Foo implements InterfaceA, InterfaceB {

}

and in .gwt.xml file, you have
<generate-with class="generatorA">
  <when-type-assignable class="InterfaceA" />
</generate-with>

<generate-with class="generatorB">
  <when-type-assignable class="InterfaceB" />
</generate-with>

How do I write generatorA and generatorB so that they generate the same
file, but cascading the effects? Obviously, I'm only looking for general
directions, not specific details.

Thanks,

On Sun, Jun 13, 2010 at 8:10 PM, Olivier Monaco <[email protected]>wrote:

> Not sure it's a problem. It's depends on you exact use case. Can you
> give me a more exact example?
>
> Olivier
>
> On 12 juin, 01:16, Kevin Qiu <[email protected]> wrote:
> > thanks for the reply. the problem is (I should've pointed out) that my
> Foo
> > class is already managed through dependency injection container (gin),
> which
> > means there's already a deferred binding implementation generated by
> > ginjector.
> >
> > On Fri, Jun 11, 2010 at 5:58 PM, Olivier Monaco <[email protected]
> >wrote:
> >
> > > Hi Kevin,
> >
> > > You can rewrite your Foo class as:
> >
> > > public class Foo implements MagicClass {
> > >  @Trace
> > >  @Secured
> > >  public void bar() {
> > >  }
> > > }
> >
> > > Then, associate a generator for sub-types of MagicClass and use
> > > GWT.create to instantiate a new Foo.
> >
> > > GWT.create(Foo.class);
> >
> > > So your generator will be called. It can generate a FooImpl class that
> > > extends the Foo class and override the bar method as follow:
> >
> > > public class FooImpl extends Foo {
> > >  public void bar() {
> > >    Log.log("begin of bar");
> > >    try {
> > >      SecurityContext.checkAuthorized();
> > >      super.bar();
> > >    }
> > >    finally {
> > >      Log.log("end of bar");
> > >    }
> > >  }
> > > }
> >
> > > Where "Log.log" print some logs and "SecurityContext.checkAuthorized"
> > > throws an error is the user is not authorized. This could be funny and
> > > not really hard to do.
> >
> > > Olivier
> >
> > > On 11 juin, 18:09, Kevin Qiu <[email protected]> wrote:
> > > > Hi,
> >
> > > > I know GWT can generate Java source code with deferred binding. But
> > > > sometimes, I don't want to generate a new implementation, but based
> on
> > > some
> > > > annotations, I want to have the ability of injecting code at compile
> > > time.
> >
> > > > e.g., with the class below
> >
> > > > public class Foo {
> > > >   @Log
> > > >   public void bar() {
> > > >     @CheckPermission
> > > >     dosomething();
> > > >   }
> >
> > > > }
> >
> > > > At compile time, I want to have the ability to get the annotations
> > > available
> > > > on items, and inject code according to my application logic. So here,
> the
> > > > compiler should see:
> > > > public class Foo {
> > > >   public void bar() {
> > > >     log("begin");
> > > >     if (hasPermission()) {
> > > >       doSomething();
> > > >     } else {
> > > >       error();
> > > >     }
> > > >   }
> >
> > > > }
> >
> > > > with the extra code being injected. I'm wondering if anything in GWT
> > > allows
> > > > me to do that?
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Google Web Toolkit" group.
> > > To post to this group, send email to
> [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<google-web-toolkit%[email protected]>
> <google-web-toolkit%[email protected]<google-web-toolkit%[email protected]>
> >
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-web-toolkit?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to