eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'SourceCodeCache':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: SourceCodeCache


Inheritance:

   Object
   |
   +--SourceCodeCache

Package:
stx:libbasic3
Category:
System-SourceCodeManagement
Version:
rev: 1.6 date: 2021/01/20 15:38:25
user: cg
file: SourceCodeCache.st directory: libbasic3
module: stx stc-classLibrary: libbasic3

Description:


This class represents global source code cache for caching
class source in multiple revisions. 

It is intended to replace caching (copy-paste) code in 
CVS/Perforce source code managers in #streamForClass:...

More features are planned in future like setting a limit
for cache size or compressing cached files in a .zip file
to save disk space.


[instance variables:]

[class variables:]

copyright

COPYRIGHT (c) 2006 by eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Class protocol:

accessing
o  default


Instance protocol:

accessing
o  streamForClass: aClass fileName: classFileName revision: revisionString repository: repositoryId module: moduleDir directory: packageDir ifAbsent: block
Answers a stream for given class (stored in classFileName) at
given revision. If the stream is not in the cache, then the
block is called with the desired cached filename as an argument.
The block should return a stream (not necessarily on the filename
passed).

private
o  cachedFileNameForRepository: repositoryId module: module directory: package container: container revision: revision
repositoryId "/ TODO: Ignored for now, discuss with Claus

Usage example(s):

        SourceCodeCache default 
            cachedFileNameForRepository: 'CVS01'
            module: 'stx' 
            directory: 'goodies/sunit'
            container: 'TestCase.st' 
            revision: '1234'



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Mon, 18 Nov 2024 04:43:45 GMT