Class OdfVirtualPagesCachePolicy
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.plugins.odfweb.cachepolicy.OdfVirtualPagesCachePolicy
-
- All Implemented Interfaces:
LogEnabled
,PageElementCachePolicy
,Serviceable
public class OdfVirtualPagesCachePolicy extends AbstractLogEnabled implements Serviceable, PageElementCachePolicy
Cache policy for the sitemap, handling ODF virtual pages linked with contents. Used for the Sitemap InputData as well as for the Sitemap service, even if the page element cache is not the same.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ametys.web.cache.pageelement.PageElementCachePolicy
PageElementCachePolicy.PolicyResult
-
-
Field Summary
Fields Modifier and Type Field Description private static Set<String>
_ODF_PE_TYPES
protected OdfPageHandler
_odfRootPageHandler
The ODF root page handler.
-
Constructor Summary
Constructors Constructor Description OdfVirtualPagesCachePolicy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<String>
_getRemovingCacheEventIds(String workspace)
Returns all event ids for which the cache should be removed.Set<String>
getPageElementTypes()
Returns the types of the associated page elements.void
service(ServiceManager manager)
PageElementCachePolicy.PolicyResult
shouldClearCache(String workspace, Site site, String pageElementType, String elementId, Event event)
Second pass of event processing, at the Page level.
This method is only called if the first pass resulted with NEED_MORE_INFORMATION.PageElementCachePolicy.PolicyResult
shouldClearCache(String workspace, Site site, String pageElementType, Event event)
First pass of event processing, at the type level.
Returning NEED_MORE_INFORMATION eventually leads to the second pass, which is more precise, and also depends on a particular element, but is more costly to compute.
Returning null means that this policy declares itself as not concerned by the current event.-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
_ODF_PE_TYPES
private static final Set<String> _ODF_PE_TYPES
-
_odfRootPageHandler
protected OdfPageHandler _odfRootPageHandler
The ODF root page handler.
-
-
Constructor Detail
-
OdfVirtualPagesCachePolicy
public OdfVirtualPagesCachePolicy()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
getPageElementTypes
public Set<String> getPageElementTypes()
Description copied from interface:PageElementCachePolicy
Returns the types of the associated page elements.- Specified by:
getPageElementTypes
in interfacePageElementCachePolicy
- Returns:
- the types of the associated page elements.
-
shouldClearCache
public final PageElementCachePolicy.PolicyResult shouldClearCache(String workspace, Site site, String pageElementType, Event event)
Description copied from interface:PageElementCachePolicy
First pass of event processing, at the type level.
Returning NEED_MORE_INFORMATION eventually leads to the second pass, which is more precise, and also depends on a particular element, but is more costly to compute.
Returning null means that this policy declares itself as not concerned by the current event.- Specified by:
shouldClearCache
in interfacePageElementCachePolicy
- Parameters:
workspace
- the current JCR workspace.site
- the current site.pageElementType
- the page element type.event
- the current event.- Returns:
- the policy result or null if this policy declares itself as not concerned.
-
shouldClearCache
public final PageElementCachePolicy.PolicyResult shouldClearCache(String workspace, Site site, String pageElementType, String elementId, Event event)
Description copied from interface:PageElementCachePolicy
Second pass of event processing, at the Page level.
This method is only called if the first pass resulted with NEED_MORE_INFORMATION. If this method also returns NEED_MORE_INFORMATION, it will be interpreted as REMOVE.- Specified by:
shouldClearCache
in interfacePageElementCachePolicy
- Parameters:
workspace
- the current JCR workspace.site
- the current site.pageElementType
- the page element type.elementId
- the current element id.event
- the current event.- Returns:
- the policy result.
-
_getRemovingCacheEventIds
protected List<String> _getRemovingCacheEventIds(String workspace)
Returns all event ids for which the cache should be removed.- Parameters:
workspace
- the current JCR workspace.- Returns:
- all event ids for which the cache should be removed.
-
-