[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[List Home]
|
Re: [aspectj-users] declare @method syntax - is composite signature allowed??
|
- From: Andy Clement <andrew.clement@xxxxxxxxx>
- Date: Tue, 27 Oct 2009 06:58:04 -0700
- Delivered-to: aspectj-users@eclipse.org
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=5kRnhEtGD1dk0JdVNXhlMJvbRIeZbU4vTyK4aBR90gM=; b=CbuAwqU2xgZ9ngbkHSEzXmhqx1u1ad8qSl/BNkD6PKRXATAkEFHD5RHl0Z7udze8FM HOIp9D41tEW8k5gQyGuci5O/FF/PeeoJ/7VRKAAQEJXPIr+6Ah6yc7ZenlnXazZym2Zj YdIq4FjCBk3B/GnuOL03U5IILl3TGKJMPajTg=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=LDXLZzsMN6qasXbpyxkmgSQ/zVx7pXWPw+lyRBFpKfCV2k/BhiJC/neKTTMw1FQHrM 5hPu5pI1cPhKK6J1BVzpaB8y3tK6ZbplGYaC7E7PshHYYb17D8tIOqZ72JKgq23q4S/v BMKng6cQDCi69ERnWXqAAliieEHHVP1KTYE90=
Hi Simeon,
This restriction you've uncovered was actually only recently raised as
this enhancement:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=287613
To support it I need to change the serialized form of the attributes -
I try not to do this often but for other reasons (optimization) I may
be changing the format in 1.6.7 so I will be looking at it in that
timeframe.
> declare @method :
> public * *..I*Dao+.*(..) && !public * *..I*Dao+.set*(..):
> @Cacheable(modelId="fooModel");
a clunky approach might be:
declare @method: public * *..I*Dao+.set*(..): @Setter;
declare @method: !@Setter public * *..I*Dao+.*(..):
@Cacheable(modelId="fooModel");
but I know that's not great...
Andy
2009/10/26 Leyzerzon, Simeon <simeon.leyzerzon@xxxxxxxx>:
> I have a hierarchy of DAO classes into which I'm introducing an @Cacheable annotation via something like this:
>
> declare @method :
> public * *..I*Dao+.*(..) :
> @Cacheable(modelId="fooModel");
>
> The problem is, we need to filter out more than is specified by this one signature pattern, and I'm not sure that a composite pattern is allowed in this type of expression. When I tried something like this:
>
> declare @method :
> public * *..I*Dao+.*(..) && !public * *..I*Dao+.set*(..):
> @Cacheable(modelId="fooModel");
>
> I'm getting compile errors saying:
>
> Syntax error on token "&&", ";" expected
>
> I also tried to define composite pointcuts representing the joint points I'm interested in (basically I want to exclude 'jdbcTemplate' and 'slq' Spring specific setters from the places where annotation is introduced) but declaration syntax doesn't seem to like it either.
>
> What would be a good approach in the use case I described?
>
> I'm using compile time weaving via Ant. AspectJ version is 1.6
>
> Thank you in advance,
> Simeon
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>