KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > riotfamily > website > cache > CacheInvalidationAdvice


1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1
3  * The contents of this file are subject to the Mozilla Public License Version
4  * 1.1 (the "License"); you may not use this file except in compliance with
5  * the License. You may obtain a copy of the License at
6  * http://www.mozilla.org/MPL/
7  *
8  * Software distributed under the License is distributed on an "AS IS" basis,
9  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10  * for the specific language governing rights and limitations under the
11  * License.
12  *
13  * The Original Code is Riot.
14  *
15  * The Initial Developer of the Original Code is
16  * Neteye GmbH.
17  * Portions created by the Initial Developer are Copyright (C) 2006
18  * the Initial Developer. All Rights Reserved.
19  *
20  * Contributor(s):
21  * Felix Gnass [fgnass at neteye dot de]
22  *
23  * ***** END LICENSE BLOCK ***** */

24 package org.riotfamily.website.cache;
25
26 import java.lang.reflect.Method JavaDoc;
27
28 import org.riotfamily.cachius.Cache;
29 import org.riotfamily.riot.dao.RiotDao;
30 import org.springframework.aop.AfterReturningAdvice;
31 import org.springframework.util.Assert;
32
33 public class CacheInvalidationAdvice implements AfterReturningAdvice {
34
35     private Cache cache;
36
37     public void setCache(Cache cache) {
38         this.cache = cache;
39     }
40
41     public void afterReturning(Object JavaDoc returnValue, Method JavaDoc method,
42             Object JavaDoc[] args, Object JavaDoc target) throws Throwable JavaDoc {
43
44         Assert.isInstanceOf(RiotDao.class, target);
45         RiotDao dao = (RiotDao) target;
46         Object JavaDoc item = args[0];
47         CacheInvalidationUtils.invalidate(cache, dao, item);
48     }
49
50 }
51
Popular Tags