[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Declare annotation question


Thanks Andy, I will in fact start a new project to do this - was just checking that there weren't any realistic dirty hacks before I do so.

aspectj-users-bounces@xxxxxxxxxxx wrote on 29/11/2007 14:53:48:

> Hi Ashley,
>
> As you have discovered in the doc:
> http://www.eclipse.org/aspectj/doc/released/adk15notebook/ataspectj-
> declare.html
>
> there are no equivalent constructs for 'declare @' if you are in
> annotation style syntax - that is a point in time statement as we just
> haven't had the requirements or requests in to do an implementation.
> You will have found the DeclareAnnotation annotation we ship but it
> doesn't yet work if you use it.
>
> I'm not aware of any hacks other than using some other bytecode mod
> tool to add those annos.
>
> Can you not build the code style aspects into a jar as a separate
> activity in another project then use them with binary weaving?  So you
> can keep your project as pure Java
>
> Andy.
>
> On 29/11/2007, Ashley Williams <ashley.williams@xxxxxx> wrote:
> >
> > Hi,
> >
> > I've started converting our various aspects to the annotation style of
> > development so that we can use the ordinary java compiler and then weave at
> > runtime. This way our build process doesn't need to change and since we are
> > new to aspectj, very comforting for everyone.
> >
> > However I seem to have hit on a snag when it comes to declaring our @Tracing
> > annotation, since the @DeclareAnnotaion equivalent doesn't seem towork, and
> > reading the documentation confirms this. Is there some workaround that I can
> > use no matter how dirty?
> >
> > A little more background to what I am trying to do: I would like to create a
> > number of different tracing profile aspect that declare the tracing
> > annotations in different combinations, so that we can choose which one gets
> > woven by modifying a deployment aop.xml file, here are a couple ofexamples:
> >
> > //  I have example pojos called Pojo1.java, Pojo2.java etc for this test
> > case
> >
> > public aspect FullPojoTracing {
> >         declare @type : Pojo* : @Tracing(loggerName = "FullPojoTracing");
> >
> >         declare @field : * Pojo*.* : @Tracing;
> >
> >         declare @constructor : Pojo*.new(..) : @Tracing;
> >
> >         declare @method : * Pojo*.*() : @Tracing;
> > }
> >
> > public aspect ConstructorPojoTracing {
> >         declare @type : Pojo* : @Tracing(loggerName =
> > "ConstructorPojoTracing");
> >
> >         declare @constructor : Pojo*.new(..) : @Tracing;
> > }
> >
> > Thanks for any tips
> > - Ashley
> >  ---
> >
> >  This e-mail may contain confidential and/or privileged information. If you
> > are not the intended recipient (or have received this e-mail in error)
> > please notify the sender immediately and delete this e-mail. Any
> > unauthorized copying, disclosure or distribution of the material in this
> > e-mail is strictly forbidden.
> >
> >  Please refer to
> > http://www.db.com/en/content/eu_disclosures.htm for
> > additional EU corporate and regulatory disclosures.
> >
> > _______________________________________________
> > aspectj-users mailing list
> > aspectj-users@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
> >
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users

---

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.