Package org.apache.tapestry5.annotations
Annotation Type Retain
@Target(FIELD)
@Retention(RUNTIME)
@Documented
@UseWith({COMPONENT,MIXIN,PAGE})
public @interface Retain
Deprecated.
This rarely used annotation is likely to cause threading issues starting in Tapestry 5.2 (which no longer
pools pages
but uses shared instances with externalized mutable state)
Marker annotation placed on fields whose value should be retained past the end of the request. This is most often
associated with fields that are lazily loaded. By marking such fields with the Retain annotation, the fields
will not be discarded at the end of the request.
This is quite different from
Persist
, because the value that's allowed to be retained is not stored
persistently; it is simply not cleared out. A subsequent request, even from the same user, may be processed by a
different instance of the page where the value is still null.
This annotation should only be used with lazily-evaluated objects that contain no client-specific information.