Return-Path: Delivered-To: apmail-cocoon-docs-archive@www.apache.org Received: (qmail 27539 invoked from network); 7 Jul 2007 13:11:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Jul 2007 13:11:32 -0000 Received: (qmail 68573 invoked by uid 500); 7 Jul 2007 13:11:35 -0000 Delivered-To: apmail-cocoon-docs-archive@cocoon.apache.org Received: (qmail 68544 invoked by uid 500); 7 Jul 2007 13:11:35 -0000 Mailing-List: contact docs-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: docs@cocoon.apache.org List-Id: Delivered-To: mailing list docs@cocoon.apache.org Received: (qmail 68531 invoked by uid 99); 7 Jul 2007 13:11:35 -0000 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.67] (HELO cocoon.zones.apache.org) (140.211.11.67) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 07 Jul 2007 06:11:34 -0700 Message-ID: <3640209.1183813872021.JavaMail.daisy@cocoon.zones.apache.org> Date: Sat, 7 Jul 2007 13:11:12 +0000 (GMT+00:00) From: daisy@cocoon.zones.apache.org To: docs@cocoon.apache.org Subject: [DAISY] Updated: CacheableProcessingComponent Contracts Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org A document has been updated: http://cocoon.zones.apache.org/daisy/documentation/675.html Document ID: 675 Branch: main Language: default Name: CacheableProcessingComponent Contracts (unchanged) Document Type: Cocoon Document (unchanged) Updated on: 7/2/07 8:01:09 PM Updated by: Reinhard P=C3=B6tz A new version has been created, state: publish Parts =3D=3D=3D=3D=3D Content ------- This part has been updated. Mime type: text/xml (unchanged) File name: (unchanged) Size: 8871 bytes (previous version: 8826 bytes) Content diff: (31 equal lines skipped) method).
  • It must be Immutable--the key is used as a lookup value.
  • It must be Unique within the space of the component (i.e. the key "= 1" for --- MyCacheableComponent must be for the same resource every time, but we d= on't have --- to worry about the key "1" for YourCacheableComponent).
  • +++ MyCacheableComponent must be for the same resource every time,= but we +++ don't have to worry about the key "1" for YourCacheableComponent).
  • The equals() and hashCode() met= hods must be consistent (i.e. if two keys are equal, the hashCode must also be eq= ual).
  • (23 equal lines skipped)

    The SourceValidity interface provides two isValid() methods= , which are used to check the validity of a source. The first call is to the ve= rsion without parameters, which the SourceValidity will return --- SourceValidity.VALID, --- SourceValidity.UNKNOWN, or +++ SourceValidity.VALID, SourceValidity.UNKNOWN, or SourceValidity.INVALID. If the first call responds with SourceValidity.UNKNOWN, then a new SourceValidity object is ob= tained from the CacheableProcessingComponent and that is passed into the (11 equal lines skipped) component are (in the order of commonality):

    =20
      ---
    • NOPValidity--always valid
    • ---
    • TimeStampValidity--valid until a newer timestamp is found +++
    • NOPValidity--always valid
    • +++
    • TimeStampValidity--valid until a newer timestamp is found (System.currentTimeMillis())
    • ---
    • ExpiresValidity--valid until the expiration date is reached +++
    • ExpiresValidity--valid until the expiration date is reache= d (System.currentTimeMillis() + time)
    • ---
    • FileTimestampValidity--valid until the referenced file changes
    • ---
    • AggregatedValidity--a compound validity object that is valid as lon= g as all --- the encapsulated validity objects are valid
    • ---
    • DeferredAggregatedValidity--a compound validity object that only ge= ts --- validity objects if they are needed.
    • +++
    • FileTimestampValidity--valid until the referenced file cha= nges
    • +++
    • AggregatedValidity--a compound validity object that is val= id as +++ long as all the encapsulated validity objects are valid
    • +++
    • DeferredAggregatedValidity--a compound validity object tha= t only +++ gets validity objects if they are needed.
    =20

    NOPValidity

    (100 equal lines skipped)