internal package Foswiki::MetaCache
See PublishedAPI for packages intended to be used by Plugin and Contrib authors, or browse all packages.
See also Developing plugins, Developer's Bible, Technical Overview

internal package Foswiki::MetaCache

A cache of Meta objects - initially used to speed up searching and sorting, but by foswiki 2.0 hopefully this will be used for all readonly accesses to the store.

Replaces the mishmash of the Search InfoCache Support package; cache of topic info. When information about search hits is compiled for output, this cache is used to avoid recovering the same info about the same topic more than once.

ClassMethod new($session)

ObjectMethod finish()

Break circular references.

Note to developers; please undef all fields in the object explicitly, whether they are references or not. That way this method is "golden documentation" of the live fields in the object.

ObjectMethod isCached($webtopic) → boolean

returns true if the topic is already in the cache.

ObjectMethod removeMeta($web, $topic)

removes but does not finish the meta object from cache

ObjectMethod addMeta($web, $topic, $meta) → $meta

adds a Foswiki::Meta object to the cache.

returns the cached object or undef if the meta is not cacheable, i.e. it is not a loaded version, or it failed to load at all

ObjectMethod get($web, $topic, $meta) → a cache obj (sorry, needs to be refactored out to return a Foswiki::Meta obj only

get a requested meta object - web or topic typically, might work for attachments too

optionally the $meta parameter can be used to add that to the cache - useful if you've already loaded and parsed the topic.

and then, the MetaCache can only return Meta objects that actually exist

Topic revision: r1 - 21 Nov 2014, ProjectContributor
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback