ePages 7.28.0 - DE_EPAGES/Object/API/SavedIncludesHandler.pm

Package DE_EPAGES::Object::API::SavedIncludesHandler

Handles SavedIncludes.

Functions

cleanup
clearAllCaches
clearObjectCache
getObjectCachePath
getRootCachePath
new
savePage

cleanup

Removes obsolete saved includes files and directories from the root directory.

Syntax
$SavedIncludesHandler->cleanup()
$SavedIncludesHandler->cleanup($Verbose)
Input
$Verbose (boolean)
(optional, default: 0) print progress to STDOUT

clearAllCaches

Increases the counter for the saved includes version of the system object. This invlidates the global saved includes directory of the store. Files with an outdated version number will be deleted using the function 'cleanup'.

Syntax
$SavedIncludesHandler->clearAllCaches;

clearObjectCache

Increases the counter for the saved includes version. Only cache files with the current version number are read. The old files will be deleted when the new cache files are written, see function 'savePage'.

Syntax
$SavedIncludesHandler->clearObjectCachePath($Object);
Input
$Object (string)
object that is already cached

getObjectCachePath

Returns the path of cache directory for an specific object. The object doesnt have to cached already, so the directory doesent have to exist. The path contains the version number of the system object as well as the version number of the object itself.

Syntax
$CachePath = $SavedIncludesHandler->getObjectCachePath($Object);
Input
$Object (string)
object that should be cached, or is already cached
Return
$ObjectCachePath (string)
path to directory of object cache

getRootCachePath

Returns the path of directory where all "saved-includes" stored. (e.g. "C:/epages/Shared/Static/Store/SavedIncludes")

Syntax
$CachePath = $SavedIncludesHandler->getRootCachePath;
Return
$CachePath (string)
path to root directory

new

Creates a new SavedIncludesHandler object

Syntax
$SavedIncludesHandler = DE_EPAGES::Object::API::SavedIncludesHandler->new();

savePage

Save cache of actual object in File. Use static path of actual object including version numbers of the saved includes. To save cache file the function will need a unique cachekey, this key is integrated in filename. Also a function to compute the content is needed. Content is computed if no cachefile exist. In this case, direcories containing saved includes of this object with an outdated version number will deleted if there exist any of them.

Syntax
$Content = $SavedIncludesHandler->savePage($CacheKey, $FallBackSub);
Example
$Content = $SavedIncludesHandler->savePage('MBO.Menu_de',
sub{
    return join '', @{$Processor->replaceTLEs($cTemplate)};
});
Input
$CacheKey (string)
name or key must be unique for an object
$FallBackSub (sub)
function that generate and returns actual content
Return
$Content (content)
Content from cached file