Package org.opencms.cache
Class CmsVfsMemoryObjectCache
java.lang.Object
org.opencms.cache.CmsVfsCache
org.opencms.cache.CmsVfsMemoryObjectCache
- All Implemented Interfaces:
I_CmsEventListener
Implements a memory cache, that stores objects related to VFS files,
providing a cache for the "online" and another for the "offline" project.
- Since:
- 6.1.3
-
Field Summary
Fields inherited from interface org.opencms.main.I_CmsEventListener
EVENT_BEFORE_PUBLISH_PROJECT, EVENT_CLEAR_CACHES, EVENT_CLEAR_OFFLINE_CACHES, EVENT_CLEAR_ONLINE_CACHES, EVENT_CLEAR_PRINCIPAL_CACHES, EVENT_FLEX_CACHE_CLEAR, EVENT_FLEX_PURGE_JSP_REPOSITORY, EVENT_FULLSTATIC_EXPORT, EVENT_GROUP_MODIFIED, EVENT_LOGIN_USER, EVENT_OU_MODIFIED, EVENT_PROJECT_MODIFIED, EVENT_PROPERTY_DEFINITION_CREATED, EVENT_PROPERTY_DEFINITION_MODIFIED, EVENT_PROPERTY_MODIFIED, EVENT_PUBLISH_PROJECT, EVENT_REBUILD_SEARCHINDEXES, EVENT_REINDEX_OFFLINE, EVENT_REINDEX_ONLINE, EVENT_RESOURCE_AND_PROPERTIES_MODIFIED, EVENT_RESOURCE_COPIED, EVENT_RESOURCE_CREATED, EVENT_RESOURCE_DELETED, EVENT_RESOURCE_MODIFIED, EVENT_RESOURCE_MOVED, EVENT_RESOURCES_AND_PROPERTIES_MODIFIED, EVENT_RESOURCES_MODIFIED, EVENT_SITEMAP_CHANGED, EVENT_UPDATE_EXPORTS, EVENT_USER_MODIFIED, KEY_CHANGE, KEY_DBCONTEXT, KEY_GROUP_ID, KEY_GROUP_NAME, KEY_INDEX_NAMES, KEY_IS_ONLINE, KEY_OU_ID, KEY_OU_NAME, KEY_PROJECTID, KEY_PUBLISHID, KEY_PUBLISHLIST, KEY_REINDEX_RELATED, KEY_REPORT, KEY_RESOURCE, KEY_RESOURCES, KEY_SKIPINDEX, KEY_USER_ACTION, KEY_USER_CHANGES, KEY_USER_ID, KEY_USER_NAME, LISTENERS_FOR_ALL_EVENTS, VALUE_CREATE_SIBLING, VALUE_GROUP_MODIFIED_ACTION_CREATE, VALUE_GROUP_MODIFIED_ACTION_DELETE, VALUE_GROUP_MODIFIED_ACTION_WRITE, VALUE_OU_MODIFIED_ACTION_CREATE, VALUE_OU_MODIFIED_ACTION_DELETE, VALUE_USER_MODIFIED_ACTION_ADD_USER_TO_GROUP, VALUE_USER_MODIFIED_ACTION_CREATE_USER, VALUE_USER_MODIFIED_ACTION_DELETE_USER, VALUE_USER_MODIFIED_ACTION_REMOVE_USER_FROM_GROUP, VALUE_USER_MODIFIED_ACTION_RESET_PASSWORD, VALUE_USER_MODIFIED_ACTION_SET_OU, VALUE_USER_MODIFIED_ACTION_WRITE_USER
-
Constructor Summary
ConstructorDescriptionConstructor, creates a new CmsVfsMemoryObjectCache. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
flush
(boolean online) Flushes the caches.getCachedObject
(CmsObject cms, String rootPath) Return an object from the cache.static CmsVfsMemoryObjectCache
Returns the VFS memory Object cache.loadVfsObject
(CmsObject cms, String rootPath, org.apache.commons.collections.Transformer function) Uses a transformer for loading an object from a path if it has not already been cached, and then caches it.void
putCachedObject
(CmsObject cms, String rootPath, Object value) Puts an object into the cache.protected void
uncacheResource
(CmsResource resource) Removes a cached resource from the cache.Methods inherited from class org.opencms.cache.CmsVfsCache
cmsEvent, registerEventListener, shutdown, uncacheResources
-
Constructor Details
-
CmsVfsMemoryObjectCache
public CmsVfsMemoryObjectCache()Constructor, creates a new CmsVfsMemoryObjectCache.
-
-
Method Details
-
getVfsMemoryObjectCache
Returns the VFS memory Object cache.- Returns:
- the VFS memory Object cache
-
getCachedObject
Return an object from the cache.- Parameters:
cms
- the current users OpenCms contextrootPath
- the rootPath of the VFS resource to get the object for- Returns:
- object form cache or null
-
loadVfsObject
public Object loadVfsObject(CmsObject cms, String rootPath, org.apache.commons.collections.Transformer function) Uses a transformer for loading an object from a path if it has not already been cached, and then caches it.- Parameters:
cms
- the CMS contextrootPath
- the root path from which the object should be loadedfunction
- the function which should load the object from VFS if it isn't already cached- Returns:
- the loaded object
-
putCachedObject
Puts an object into the cache.- Parameters:
cms
- the CmsObjectrootPath
- the rootPath of the VFS resource to store the object forvalue
- the object to store
-
flush
Description copied from class:CmsVfsCache
Flushes the caches.- Specified by:
flush
in classCmsVfsCache
- Parameters:
online
- if to flush the online or offline caches- See Also:
-
uncacheResource
Description copied from class:CmsVfsCache
Removes a cached resource from the cache.- Specified by:
uncacheResource
in classCmsVfsCache
- Parameters:
resource
- the resource- See Also:
-