/*
* ModifiedTemplate.java
*
* Brazil project web application toolkit,
* export version: 2.3
* Copyright (c) 2000-2002 Sun Microsystems, Inc.
*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License Version
* 1.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is included as the file "license.terms",
* and also available at http://www.sun.com/
*
* The Original Code is from:
* Brazil project web application toolkit release 2.3.
* The Initial Developer of the Original Code is: suhler.
* Portions created by suhler are Copyright (C) Sun Microsystems, Inc.
* All Rights Reserved.
*
* Contributor(s): suhler.
*
* Version: 2.1
* Created by suhler on 00/11/19
* Last modified by suhler on 02/10/01 16:36:50
*
* Version Histories:
*
* 2.1 02/10/01-16:36:50 (suhler)
* version change
*
* 1.4 01/05/11-14:50:46 (suhler)
* use template.debug()
*
* 1.3 00/12/11-13:31:16 (suhler)
* add class=props for automatic property extraction
*
* 1.2 00/11/20-13:25:14 (suhler)
* doc fixes
*
* 1.2 00/11/19-10:31:38 (Codemgr)
* SunPro Code Manager data about conflicts, renames, etc...
* Name history : 1 0 handlers/templates/ModifiedTemplate.java
*
* 1.1 00/11/19-10:31:37 (suhler)
* date and time created 00/11/19 10:31:37 by suhler
*
*/
package sunlabs.brazil.template;
import sunlabs.brazil.util.http.HttpUtil;
import sunlabs.brazil.server.Server;
import java.io.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: *
modified
* tag is replaced by a comment. Otherwise it is removed from the document.
*