Re: Idea: add introduction tags

"Jonas Bonèr" <[email protected]> Wed, 23 Apr 2003 09:36:17 +0200
Newsgroups gmane.comp.java.aspectwerkz
Message-ID <[email protected]>
Hi Carlos.

Background:=20
(In the CVS there is support for runtime attributes. Meaning that the user =
can define attributes at class/method/field level and then refer to these=
 in the xml definition file. (see the logging and transparent persistence=
 examples).)

I have started to implement tags for adding introductions as well, i.e. som=
ething like this:

/**
 * Represents a User object
 *
 * @aspect:introduction general.name
 * @aspect:introduction general.description
 * @aspect:introduction user.login
 * @aspect:introduction user.password
 * @aspect:persistent
 */

...but the idea of specifiying names for the introductions using tags is ne=
w for me.

It might introduce some constraints though.=20

What if f.e. I want two different configurations of the same introduction. =
F.e. the same interface but different implementations. Shure then I can s=
pecify the name on the implementation class. But how do I then handle pur=
e interface introductions.=20

I like the idea of being able to specify everything using attributes, but h=
ow to do it in a practical way that is not restricting?=20

Yesterday I committed the feature of being able to pass parameters to the a=
dvices, like this:
    <advice name=3D"caching" ...>
        <param name=3D"timeout" value=3D"10"/>
    </advice>

How do I f.e. handle this with attibutes?

Keep the ideas flowing.

- Jonas
-----Original Message-----
From: Carlos Villela <[email protected]>
To: [email protected]
Date: Wed, 23 Apr 2003 03:53:59 -0300=20
Subject: [aspectwerkz-developer] Idea: add introduction tags

Hi folks!

I've been thinking about the latest cool addition to AspectWerkz' CVS,=20
and noticed a cool feature that might even be already implemented:

/**
 * Represents a User object
 *
 * @aspect:introduction general.name
 * @aspect:introduction general.description
 * @aspect:introduction user.login
 * @aspect:introduction user.password
 * @aspect:persistent
 */
public class User {
}

/**
 * Defines a 'name' property for an object
 *
 * @aspect:introduction-def general.name
 */
public interface HasName {
    void setName(String name);
    String getName();
}

What's needed for this to become a reality, if it's not already? Having 
these kinds of features would eliminate the need to manually write XML 
definition files, I guess, and that would be a *BIG* plus for 
AspectWerks, IMHO.

[]'s
-cv




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
aspectwerkz-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/aspectwerkz-developer


- Jonas



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf