I'd like to declare an error if my @Transactional attributed instance variables are being set outside of the context of a Change object. In other words, I'd like to have an error in this case:
public class Foo
{
@Transactional
String name
public void setName(String newName)
{
name = newName;
}
}
But not in this case:
public class Foo
{
@Transactional
String name
public void setName(String newName)
{
new ValueChange<String>(name, newName)
{
public void set(String value)
{
name = value;
}
}.post();
}
}
It seems like this kind of aspect should do that:
public aspect FieldChangeAspect
{
declare error :
set(@Transactional * *) &&
!this(Change) : "Set of @Transactional variable not in Change object";
}
But this gives me an error saying "this() pointcut designator cannot be used in declare statements." BTW, target(), and args() also give the same error for declare statements i guess, so you can't filter on types of this, target, or args in declares.
Am I missing something? Is there a reason for this or could these be enhancements?
Cheers,
--
-pete
peter m. murray
[EMAIL PROTECTED]
_______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
