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  }