Intro Ex1 Ex2 Ex3 Ex4

Caching: Invalidate (part I)

Task: Pass tests.Invalidation1.

While caching in this way does save computation, it will lead to incorrect bounding boxes if a Group is ever moved. Write another separate aspect that invalidates (i.e. clears) the cache whenever the move() method of Group is called.

Employ an additional before advice. The original aspect that manages the cached data should provide functionality to clear the cache.

To reach the aspect instance, you might need to use the aspectOf method.

A correct implementation will pass the tests of suite tests.Invalidation1.


Remove the invalidation aspect from the build path and continue with Exercise 4.