You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TestAspect.aj 809B

12345678910111213141516171819202122232425262728293031
  1. import java.util.List;
  2. public aspect TestAspect {
  3. private pointcut inTest(): within(TestComp);
  4. private pointcut inAdd(BaseModel m): inTest() &&
  5. execution(public BaseModel+ BaseComp+.add*(BaseModel+)) &&
  6. args(m);
  7. private pointcut inGetSearchByObj(BaseModel m): inTest() &&
  8. (execution(public * BaseComp+.get*(BaseModel+)) ||
  9. execution(public * BaseComp+.search*(BaseModel+))) &&
  10. args(m);
  11. private pointcut inGrate():
  12. (execution(public * BaseComp+.get*(BaseModel+)) ||
  13. execution(public * BaseComp+.search*(BaseModel+)));
  14. private pointcut inUpdate(BaseModel m): inTest() &&
  15. execution(public * BaseComp+.*(BaseModel+)) &&
  16. args(m) && !inAdd(BaseModel) && !inGrate();
  17. before(BaseModel m): inUpdate(m) { }
  18. }
  19. abstract class BaseComp { }
  20. abstract class BaseModel {}
  21. class TestComp {}