sunlabs.brazil.template

Class ModifiedTemplate

public class ModifiedTemplate extends Template implements Serializable

Template class for computing last-modified times for content that is processed through templates.

For traditional web content that is stored in a file, it is easy to keep track of the last time the content changed, simply by looking at the modify-time attribute of the file. Many browsers (and caches) use this information, obtained from the last-modified http header to determine whether to use an existing copy of the document, or a cached copy.

When the content is dynamically transformed, however, the last modified time is more complex: a combination of the original file modification time combined with the last change made to the transformation parameters.

A new HTML tag, <modified> is defined, and is intended to be used in conjunction with the BSLTemplate. When present in a page, the last-modified time of the transformation is set to the server's current time. When the content is delivered to the client, the last-modified header is set to the more recent of the origin last-modified time and the transformation modified time.

Properties:

debug
If this configuration parameter is present, modified tag is replaced by a comment. Otherwise it is removed from the document.

Version: %V% 07/01/08

Author: Stephen Uhler

Method Summary
booleandone(RewriteContext hr)
Compute the http last modified value by comparing the origin last-modified value (if any) with the transform value
voidtag_modified(RewriteContext hr)
Set the content transformation modifiy time to NOW

Method Detail

done

public boolean done(RewriteContext hr)
Compute the http last modified value by comparing the origin last-modified value (if any) with the transform value

tag_modified

public void tag_modified(RewriteContext hr)
Set the content transformation modifiy time to NOW