Package org.apache.tiles.definition.dao
Class CachingLocaleUrlDefinitionDAO
java.lang.Object
org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO
org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO
- All Implemented Interfaces:
DefinitionDAO<Locale>
,PatternDefinitionResolverAware<Locale>
,RefreshMonitor
- Direct Known Subclasses:
ResolvingLocaleUrlDefinitionDAO
public class CachingLocaleUrlDefinitionDAO
extends BaseLocaleUrlDefinitionDAO
implements PatternDefinitionResolverAware<Locale>
A definitions DAO (loading URLs and using Locale as a customization key) that caches definitions that have been loaded in a raw way (i.e. with inheritance that is not resolved).
It can check if the URLs change, but by default this feature is turned off.
- Since:
- 2.1.0
- Version:
- $Rev: 1752405 $ $Date: 2016-07-13 22:13:34 +1000 (Wed, 13 Jul 2016) $
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Initialization parameter to set whether we want to refresh URLs when they change.protected boolean
Flag that, whentrue
, enables automatic checking of URLs changing.protected PatternDefinitionResolver
<Locale> Resolves definitions using patterns.protected Map
<Locale, Map<String, Definition>> The locale-specific set of definitions objects.Fields inherited from class org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO
applicationContext, lastModifiedDates, reader, sources
-
Constructor Summary
ConstructorsConstructorDescriptionCachingLocaleUrlDefinitionDAO
(org.apache.tiles.request.ApplicationContext applicationContext) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected Map
<String, Definition> checkAndloadDefinitions
(Locale customizationKey) Checks if sources have changed.protected Map
<String, Definition> copyDefinitionMap
(Map<String, Definition> localeDefsMap) Copies the definition map to be passed to a higher level of customization key.getDefinition
(String name, Locale customizationKey) Returns a definition, given its name and the customization key.protected Definition
getDefinitionFromResolver
(String name, Locale customizationKey) Returns a definition from the definition resolver.getDefinitions
(Locale customizationKey) Returns all the definitions used of a customization key.protected Map
<String, Definition> loadDefinitions
(Locale customizationKey) Tries to load definitions if necessary.protected Map
<String, Definition> loadDefinitionsFromResources
(Locale customizationKey) Loads definitions from the sources.protected Map
<String, Definition> loadParentDefinitions
(Locale parentLocale) Loads parent definitions, i.e.protected Map
<String, Definition> loadRawDefinitionsFromResources
(Locale customizationKey) Loads the raw definitions from the sources associated with a locale.void
setCheckRefresh
(boolean checkRefresh) Sets the flag to check source refresh.void
setPatternDefinitionResolver
(PatternDefinitionResolver<Locale> definitionResolver) Sets the pattern definition resolver to use.Methods inherited from class org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO
loadDefinitionsFromResource, refreshRequired, setReader, setSources
-
Field Details
-
CHECK_REFRESH_INIT_PARAMETER
Initialization parameter to set whether we want to refresh URLs when they change.- Since:
- 2.1.0
- See Also:
-
locale2definitionMap
The locale-specific set of definitions objects.- Since:
- 2.1.0
-
checkRefresh
protected boolean checkRefreshFlag that, whentrue
, enables automatic checking of URLs changing.- Since:
- 2.1.0
-
definitionResolver
Resolves definitions using patterns.- Since:
- 2.2.0
-
-
Constructor Details
-
CachingLocaleUrlDefinitionDAO
public CachingLocaleUrlDefinitionDAO(org.apache.tiles.request.ApplicationContext applicationContext) Constructor.- Since:
- 2.1.0
-
-
Method Details
-
setPatternDefinitionResolver
Sets the pattern definition resolver to use.- Specified by:
setPatternDefinitionResolver
in interfacePatternDefinitionResolverAware<Locale>
- Parameters:
definitionResolver
- The pattern definition resolver.
-
getDefinition
Returns a definition, given its name and the customization key.- Specified by:
getDefinition
in interfaceDefinitionDAO<Locale>
- Parameters:
name
- The name of the definition.customizationKey
- The customization key.- Returns:
- The requested definition, if found, otherwise
null
. The inheritance of the definition must not be resolved.
-
getDefinitions
Returns all the definitions used of a customization key.- Specified by:
getDefinitions
in interfaceDefinitionDAO<Locale>
- Parameters:
customizationKey
- The customization key.- Returns:
- All the definitions that are connected to the customization key. The inheritance of the definitions must not be resolved.
-
setCheckRefresh
public void setCheckRefresh(boolean checkRefresh) Sets the flag to check source refresh. If not called, the default isfalse
.- Parameters:
checkRefresh
- Whentrue
, enables automatic checking of sources changing.- Since:
- 2.1.0
-
getDefinitionFromResolver
Returns a definition from the definition resolver.- Parameters:
name
- The name of the definition.customizationKey
- The customization key to use.- Returns:
- The resolved definition.
-
checkAndloadDefinitions
Checks if sources have changed. If yes, it clears the cache. Then continues loading definitions.- Parameters:
customizationKey
- The locale to use when loading sources.- Returns:
- The loaded definitions.
- Since:
- 2.1.0
-
loadDefinitions
Tries to load definitions if necessary.- Parameters:
customizationKey
- The locale to use when loading sources.- Returns:
- The loaded definitions.
- Since:
- 2.1.0
-
loadDefinitionsFromResources
Loads definitions from the sources.- Parameters:
customizationKey
- The locale to use when loading Resources.- Returns:
- The loaded definitions.
- Since:
- 2.1.0
-
loadRawDefinitionsFromResources
Loads the raw definitions from the sources associated with a locale.- Parameters:
customizationKey
- The locale to use when loading Resources.- Returns:
- The loaded definitions.
- Since:
- 2.1.3
-
loadParentDefinitions
Loads parent definitions, i.e. definitions mapped to a parent locale.- Parameters:
parentLocale
- The locale to use when loading URLs.- Returns:
- The loaded parent definitions.
- Since:
- 2.1.0
-
copyDefinitionMap
Copies the definition map to be passed to a higher level of customization key.- Parameters:
localeDefsMap
- The map of definition to be copied.- Returns:
- The copy of the definition map. This particular implementation
return the
localeDefsMap
itself. - Since:
- 2.1.4
-