public class CacheWarmingAwareContentStoreAdapterDecorator extends Object implements ContentStoreAdapterDecorator
ContentStoreAdapterDecorator
that is aware of cache warming and uses the preloaded folders to check
if items exist before even going to the actual content store adapter, enhancing thus performance.Modifier and Type | Field and Description |
---|---|
protected org.craftercms.core.store.ContentStoreAdapter |
actualStoreAdapter |
protected org.craftercms.core.service.CacheService |
cacheService |
protected boolean |
warmUpEnabled |
Constructor and Description |
---|
CacheWarmingAwareContentStoreAdapterDecorator() |
Modifier and Type | Method and Description |
---|---|
org.craftercms.core.service.Context |
createContext(String id,
String rootFolderPath,
boolean mergingOn,
boolean cacheOn,
int maxAllowedItemsInCache,
boolean ignoreHiddenFiles) |
void |
destroyContext(org.craftercms.core.service.Context context) |
protected <T> T |
executeIfNotPreloadedOrIfExistsInPreloadedPaths(org.craftercms.engine.cache.PreloadedFoldersAwareContext contextWrapper,
String path,
Supplier<T> actualCall) |
boolean |
exists(org.craftercms.core.service.Context context,
org.craftercms.core.service.CachingOptions cachingOptions,
String path) |
org.craftercms.core.service.Content |
findContent(org.craftercms.core.service.Context context,
org.craftercms.core.service.CachingOptions cachingOptions,
String path) |
org.craftercms.core.service.Item |
findItem(org.craftercms.core.service.Context context,
org.craftercms.core.service.CachingOptions cachingOptions,
String path,
boolean withDescriptor) |
List<org.craftercms.core.service.Item> |
findItems(org.craftercms.core.service.Context context,
org.craftercms.core.service.CachingOptions cachingOptions,
String path) |
protected PreloadedFolder |
findPreloadedAncestor(List<PreloadedFolder> preloadedFolders,
String path) |
void |
setActualStoreAdapter(org.craftercms.core.store.ContentStoreAdapter actualStoreAdapter)
Sets the store adapter to be decorated
|
void |
setCacheService(org.craftercms.core.service.CacheService cacheService) |
void |
setWarmUpEnabled(boolean warmUpEnabled) |
boolean |
validate(org.craftercms.core.service.Context context) |
protected boolean warmUpEnabled
protected org.craftercms.core.store.ContentStoreAdapter actualStoreAdapter
protected org.craftercms.core.service.CacheService cacheService
public CacheWarmingAwareContentStoreAdapterDecorator()
public void setWarmUpEnabled(boolean warmUpEnabled)
public void setActualStoreAdapter(org.craftercms.core.store.ContentStoreAdapter actualStoreAdapter)
ContentStoreAdapterDecorator
setActualStoreAdapter
in interface ContentStoreAdapterDecorator
actualStoreAdapter
- the actual store adapterpublic void setCacheService(org.craftercms.core.service.CacheService cacheService)
public org.craftercms.core.service.Context createContext(String id, String rootFolderPath, boolean mergingOn, boolean cacheOn, int maxAllowedItemsInCache, boolean ignoreHiddenFiles) throws org.craftercms.core.exception.RootFolderNotFoundException, org.craftercms.core.exception.StoreException, org.craftercms.core.exception.AuthenticationException
createContext
in interface org.craftercms.core.store.ContentStoreAdapter
org.craftercms.core.exception.RootFolderNotFoundException
org.craftercms.core.exception.StoreException
org.craftercms.core.exception.AuthenticationException
public boolean validate(org.craftercms.core.service.Context context) throws org.craftercms.core.exception.StoreException, org.craftercms.core.exception.AuthenticationException
validate
in interface org.craftercms.core.store.ContentStoreAdapter
org.craftercms.core.exception.StoreException
org.craftercms.core.exception.AuthenticationException
public void destroyContext(org.craftercms.core.service.Context context) throws org.craftercms.core.exception.StoreException, org.craftercms.core.exception.AuthenticationException
destroyContext
in interface org.craftercms.core.store.ContentStoreAdapter
org.craftercms.core.exception.StoreException
org.craftercms.core.exception.AuthenticationException
public boolean exists(org.craftercms.core.service.Context context, org.craftercms.core.service.CachingOptions cachingOptions, String path) throws org.craftercms.core.exception.InvalidContextException, org.craftercms.core.exception.StoreException
exists
in interface org.craftercms.core.store.ContentStoreAdapter
org.craftercms.core.exception.InvalidContextException
org.craftercms.core.exception.StoreException
public org.craftercms.core.service.Content findContent(org.craftercms.core.service.Context context, org.craftercms.core.service.CachingOptions cachingOptions, String path) throws org.craftercms.core.exception.InvalidContextException, org.craftercms.core.exception.StoreException
findContent
in interface org.craftercms.core.store.ContentStoreAdapter
org.craftercms.core.exception.InvalidContextException
org.craftercms.core.exception.StoreException
public org.craftercms.core.service.Item findItem(org.craftercms.core.service.Context context, org.craftercms.core.service.CachingOptions cachingOptions, String path, boolean withDescriptor) throws org.craftercms.core.exception.InvalidContextException, org.craftercms.core.exception.XmlFileParseException, org.craftercms.core.exception.StoreException
findItem
in interface org.craftercms.core.store.ContentStoreAdapter
org.craftercms.core.exception.InvalidContextException
org.craftercms.core.exception.XmlFileParseException
org.craftercms.core.exception.StoreException
public List<org.craftercms.core.service.Item> findItems(org.craftercms.core.service.Context context, org.craftercms.core.service.CachingOptions cachingOptions, String path) throws org.craftercms.core.exception.InvalidContextException, org.craftercms.core.exception.XmlFileParseException, org.craftercms.core.exception.StoreException
findItems
in interface org.craftercms.core.store.ContentStoreAdapter
org.craftercms.core.exception.InvalidContextException
org.craftercms.core.exception.XmlFileParseException
org.craftercms.core.exception.StoreException
protected <T> T executeIfNotPreloadedOrIfExistsInPreloadedPaths(org.craftercms.engine.cache.PreloadedFoldersAwareContext contextWrapper, String path, Supplier<T> actualCall)
protected PreloadedFolder findPreloadedAncestor(List<PreloadedFolder> preloadedFolders, String path)
Copyright © 2021 CrafterCMS. All rights reserved.