Class AbstractCacheManager
- Object
-
- org.thymeleaf.cache.AbstractCacheManager
-
- All Implemented Interfaces:
ICacheManager
- Direct Known Subclasses:
StandardCacheManager
public abstract class AbstractCacheManager extends Object implements ICacheManager
Common abstract class for
ICacheManager
implementations, useful for taking care of the lazy initialization of cache objects when their correspondinggetXCache()
methods are called.Note a class with this name existed since 2.0.0, but it was completely reimplemented in Thymeleaf 3.0
- Since:
- 3.0.0
- Author:
- Daniel Fernández
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractCacheManager()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
clearAllCaches()
Clears all the caches managed by this cache manager instance.List<String>
getAllSpecificCacheNames()
Returns a list with the names of all the specific caches managed by this implementation.ICache<ExpressionCacheKey,Object>
getExpressionCache()
Returns the cache of expression evaluation artifacts.<K,V>
ICache<K,V>getSpecificCache(String name)
Returns a specific (non-default) cache, by its name.ICache<TemplateCacheKey,TemplateModel>
getTemplateCache()
Returns the cache of parsed templates.protected abstract ICache<ExpressionCacheKey,Object>
initializeExpressionCache()
protected abstract ICache<TemplateCacheKey,TemplateModel>
initializeTemplateCache()
-
-
-
Method Detail
-
getTemplateCache
public final ICache<TemplateCacheKey,TemplateModel> getTemplateCache()
Description copied from interface:ICacheManager
Returns the cache of parsed templates. Keys are the template names, as specified at the
TemplateEngine.process(String, org.thymeleaf.context.IContext)
method.- Specified by:
getTemplateCache
in interfaceICacheManager
- Returns:
- the cache of parsed templates.
-
getExpressionCache
public final ICache<ExpressionCacheKey,Object> getExpressionCache()
Description copied from interface:ICacheManager
Returns the cache of expression evaluation artifacts.
This cache is meant to store artifacts of diverse nature needed along the process of parsing and executing expressions in the several languages available: Standard expressions, OGNL expressions, Spring EL expressions...
Parsing these expressions usually results in some kind of syntax tree object that represents the expression, and this is what this cache usually stores.
Keys are the expressions themselves (their String representation), along with a type that is normally used for identifying the nature of the object being cached (for example
{"ognl","person.name"}
).- Specified by:
getExpressionCache
in interfaceICacheManager
- Returns:
- the cache of expression artifacts
-
getSpecificCache
public <K,V> ICache<K,V> getSpecificCache(String name)
Description copied from interface:ICacheManager
Returns a specific (non-default) cache, by its name.
User-defined dialects might make use of additional caches (besides template, and expression) defined at custom-made implementations of this interface, and they should use this method to retrieve them by their name.
Note the default
StandardCacheManager
will returnnull
for every call to this method, as it should be custom implementations of this interface (or extensions ofAbstractCacheManager
or extensionsStandardCacheManager
) who implement these specific caches and offer their names through theICacheManager.getAllSpecificCacheNames()
method.- Specified by:
getSpecificCache
in interfaceICacheManager
- Type Parameters:
K
- the type of the cache keysV
- the type of the cache values- Parameters:
name
- the name of the needed cache- Returns:
- the required cache
-
getAllSpecificCacheNames
public List<String> getAllSpecificCacheNames()
Description copied from interface:ICacheManager
Returns a list with the names of all the specific caches managed by this implementation.
Might return null if no specific caches are managed.
Note the default
StandardCacheManager
will returnnull
, as it should be custom implementations of this interface (or extensions ofAbstractCacheManager
or extensionsStandardCacheManager
) who implement these specific caches and offer their names through theICacheManager.getAllSpecificCacheNames()
method.- Specified by:
getAllSpecificCacheNames
in interfaceICacheManager
- Returns:
- a list with all the names of the "specific caches"
-
clearAllCaches
public void clearAllCaches()
Description copied from interface:ICacheManager
Clears all the caches managed by this cache manager instance.
This method is mainly intended for use from external tools that might need to clean all caches completely, without having to worry about implementation details.
- Specified by:
clearAllCaches
in interfaceICacheManager
-
initializeTemplateCache
protected abstract ICache<TemplateCacheKey,TemplateModel> initializeTemplateCache()
-
initializeExpressionCache
protected abstract ICache<ExpressionCacheKey,Object> initializeExpressionCache()
-
-