[[caching:intro|Intro]] [[caching:ex1|Ex1]] [[caching:ex2|Ex2]] [[caching:ex3|Ex3]] [[caching:ex4|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 [[http://www.eclipse.org/aspectj/doc/released/progguide/semantics-aspects.html#aspect-instantiation|aspectOf]] method. A correct implementation will pass the tests of suite ''tests.Invalidation1''. ---- Remove the invalidation aspect from the build path and continue with [[caching:ex4|Exercise 4]].