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.5 date: 2017/12/18 09:13:40
user: mawalch
file: SourceCodeCache.st directory: libbasic3
module: stx stc-classLibrary: libbasic3
Author:
Jan Vrany <jan.vrany@fit.cvut.cz>

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:]


Related information:

    CVSSourceCodeManager
    [lass>>streamForClass]
    PerforceSourceCodeManager
    [lass>>streamForClass]

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.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Thu, 11 Aug 2022 12:27:49 GMT