Tags:
create new tag
view all tags
---+ Package =TWiki::Prefs::PrefsCache= The PrefsCache package holds a cache of topics that have been read in, using the TopicPrefs class. These functions manage that cache. We maintain 2 hashes of values: * {locals} Contains all locals at this level. Locals are values that only apply when the current topic is the topic where the local is defined. The variable names are decorated with the locality where they apply. * {values} contains all sets, locals, and all values inherited from the parent level As each cache level is built, the values are copied down from the parent cache level. This sounds monstrously inefficient, but in fact perl does this a lot better than doing a multi-level lookup when a value is referenced. This is especially important when many prefs lookups may be done in a session, for example when searching. %TOC% ---++ ClassMethod *new* <tt>($prefs,$parent,$type,$web,$topic,$prefix)</tt> Creates a new Prefs object. * =$prefs= - controlling TWiki::Prefs object * =$parent= - the PrefsCache object to use to initialise values from * =$type= - Type of prefs object to create, see notes. * =$web= - web containing topic to load from (required is =$topic= is set) * =$topic= - topic to load from * =$prefix= - key prefix for all preferences (used for plugins) If the specified topic is not found, returns an empty object. ---++ ObjectMethod *finish* <tt>()</tt> Break circular references. ---++ ObjectMethod *finalise* <tt>($parent)</tt> Finalise preferences in this cache, by freezing any preferences listed in FINALPREFERENCES at their current value. * $parent = object that supports getPreferenceValue ---++ ObjectMethod *loadPrefsFromTopic* <tt>($web,$topic,$keyPrefix)</tt> Loads preferences from a topic. All settings loaded are prefixed with the key prefix (default ''). ---++ ObjectMethod *loadPrefsFromText* <tt>($text,$meta,$web,$topic)</tt> Loads preferences from text and optional metadata. All settings loaded are prefixed with the key prefix (default ''). If =$meta= is defined, then metadata will be taken from that object. Otherwise, =$text= will be parsed to extract meta-data. ---++ ObjectMethod *insert* <tt>($type,$key,$val) -> $boolean</tt> Adds a key-value pair of the given type to the object. Type is Set or Local. Callback used for the Prefs::Parser object, or can be used to add arbitrary new entries to a prefs cache. Note that attempts to redefine final preferences will be ignored. Returns 1 if the preference was defined, 0 otherwise. ---++ ObjectMethod *stringify* <tt>($html,\%shown) -> $text</tt> Generate an (HTML if $html) representation of the content of this cache.
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r4 - 2008-01-22
-
TWikiContributor
Home
Site map
Lab web
Main web
Sandbox web
TWiki web
TWiki Web
User registration
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
User Reference
ATasteOfTWiki
TextFormattingRules
TWikiVariables
FormattedSearch
QuerySearch
TWikiDocGraphics
TWikiSkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
InterWikis
ManagingUsers
ManagingWebs
TWikiSiteTools
TWikiPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Account
Log In
Register User
E
dit
A
ttach
Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback
Note:
Please contribute updates to this topic on TWiki.org at
TWiki:TWiki.TWikiPrefsPrefsCacheDotPm
.