1 package com.trendmicro.grid.acl.ds;
2
3 import java.lang.annotation.ElementType;
4 import java.lang.annotation.Retention;
5 import java.lang.annotation.RetentionPolicy;
6 import java.lang.annotation.Target;
7
8 /**
9 * Is used as a general marker that must be present on methods that support caching by this module.
10 * <p/>
11 * As caching uses AspectJ proxies, it may not always be easy to see what methods are affected,
12 * thus this marker is introduced to help gaining visibility.
13 *
14 * @author Juergen_Kellerer, 2011-02-19
15 * @version 1.0
16 */
17 @Target(ElementType.METHOD)
18 @Retention(RetentionPolicy.RUNTIME)
19 public @interface RemoteCacheable {
20 /**
21 * Specifies an optional implementation note allowing to add hints on what to do and what not
22 * to do in the method with regards to the fact that it gets cached through a distributed
23 * cache system.
24 *
25 * @return an optional comment to be read by developers and maintainers.
26 */
27 String comment() default "";
28 }