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)
ContentStoreAdapterDecoratorsetActualStoreAdapter in interface ContentStoreAdapterDecoratoractualStoreAdapter - 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.ContentStoreAdapterorg.craftercms.core.exception.RootFolderNotFoundExceptionorg.craftercms.core.exception.StoreExceptionorg.craftercms.core.exception.AuthenticationExceptionpublic 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.ContentStoreAdapterorg.craftercms.core.exception.StoreExceptionorg.craftercms.core.exception.AuthenticationExceptionpublic 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.ContentStoreAdapterorg.craftercms.core.exception.StoreExceptionorg.craftercms.core.exception.AuthenticationExceptionpublic 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.ContentStoreAdapterorg.craftercms.core.exception.InvalidContextExceptionorg.craftercms.core.exception.StoreExceptionpublic 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.ContentStoreAdapterorg.craftercms.core.exception.InvalidContextExceptionorg.craftercms.core.exception.StoreExceptionpublic 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.ContentStoreAdapterorg.craftercms.core.exception.InvalidContextExceptionorg.craftercms.core.exception.XmlFileParseExceptionorg.craftercms.core.exception.StoreExceptionpublic 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.ContentStoreAdapterorg.craftercms.core.exception.InvalidContextExceptionorg.craftercms.core.exception.XmlFileParseExceptionorg.craftercms.core.exception.StoreExceptionprotected <T> T executeIfNotPreloadedOrIfExistsInPreloadedPaths(org.craftercms.engine.cache.PreloadedFoldersAwareContext contextWrapper,
String path,
Supplier<T> actualCall)
protected PreloadedFolder findPreloadedAncestor(List<PreloadedFolder> preloadedFolders, String path)
Copyright © 2020 CrafterCMS. All rights reserved.