001    package net.sf.tacos.annotations;
002    
003    import java.lang.annotation.Target;
004    import java.lang.annotation.ElementType;
005    import java.lang.annotation.Retention;
006    import java.lang.annotation.RetentionPolicy;
007    import java.lang.annotation.Documented;
008    
009    /**
010     * Annotation used on any (non-abstract) page or component method that returns a value.
011     * <p/>
012     * It caches the method result during the current request cycle, meaning that subsequent calls
013     * do not reevaluate the method's body.
014     * 
015     * @author Andreas Andreou
016     */
017    @Target(
018    { ElementType.METHOD })
019    @Retention(RetentionPolicy.RUNTIME)
020    @Documented
021    public @interface Cached {
022    }
023