Xvcl And Emit Cache
CjOS Project @ cjos.sourceforge.net
Index
Bind Pages
Cjos Library
Cjos Pages
Cjos News Pages
Eric Pages
Introduction To Smart Api
Osgi Pages
Registry Api Pages
Smart Api Pages
Xvcl Pages
CjOS Project
Summary Page
Mailing List
Download
CVS
JOS Technical Edition
Support This Project
Xvcl Pages; [ Cjos Audience]

Summary

When content remains the same, the preserveTimestamp feature preserves a timestamp. This feature is implemented by the use-emitcache patch.

Append option

This is a run-time option for the XVCL Processor.

  • When true, content is appended to an existing file.
  • Otherwise, an existing file is overwritten.

append attribute for x-frame command

(Proposed) This is a proposed attribute of the x-frame command.

  • When true, content is appended to an existing file.
  • Otherwise, an existing file is overwritten.

append attribute for adapt command

(Proposed) This is a proposed attribute for the adapt command.

  • When true, content is appended to an existing file.
  • Otherwise, an existing file is overwritten.

History

XVCL Processor 2.07 uses a specific mechanism for writing out a file.

  • It does not use a write cache.
  • It writes out small buffers.
  • Thus, it repeatedly opens a file for append.

To trigger an appropriate exception when the output directory (outdir) and output file (outfile) are unsupported by an operating system, it uses File.createNewFile().

The MyFileSystem class uses a static cache to preserve the create timestamp. Ideally, the MyFileSystem object is a property of XVCLProcessor.

Patch

The use-emitcache patch enables a write cache.

  • It uses a write cache.
  • It writes out large buffers.
  • It opens a file for append less often.

To trigger an appropriate exception when the output directory (outdir) and output file (outfile) are unsupported by an operating system, it stores the XVCLNode and invokes File.createNewFile().

Details

The use-emitcache patch introduces the following classes.

  • EmitCache interface
    • AppendEmitCache
    • OverwriteEmitCache

  • OverwriteEmitCacheItem

Reference