package com.cache2.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import com.cache2.domain.CacheStrategy; import com.cache2.domain.Identifiable; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @Inherited public @interface CachedMethod { /** * The strategy to use for the method. * * @return strategy */ CacheStrategy value(); /** * The class of the return type of the method. Only required to support * lists. * * @return class */ Class<? extends Identifiable> clazz() default Identifiable.class; }