org.apache.tapestry5.annotations
Annotation Type Cached
@Target(value=METHOD)
@Retention(value=RUNTIME)
@Documented
@UseWith(value={COMPONENT,MIXIN,PAGE})
public @interface Cached
Indicates that a method should only be evaluated once per request and the result cached.
Further calls to the method during the same request will return the cached result.
However, if the method's component occurs more than once within an enclosing component,
the cached results will be distinct for each occurrence.
This annotation is commonly used on getters for component properties:
@Cached
Date getNow() {
new Date();
}
You may not apply @Cached to void methods or methods with parameters.
Note that this annotation is inheritance-safe; if a subclass calls a superclass method that
has @Cached then the value the subclass method gets is the cached value.
The watch parameter can be passed a binding expression which will be evaluated each time the method is called. The
method will then only be executed the first time it is called and after that only when the value of the binding
changes. This can be used, for instance, to have the method only evaluated once per iteration of a loop by setting
watch to the value or index of the loop.
Optional Element Summary |
String |
watch
The optional binding to watch (default binding prefix is "prop"). |
watch
public abstract String watch
- The optional binding to watch (default binding prefix is "prop").
- Default:
- ""
Copyright © 2003-2012 The Apache Software Foundation.