DefinitionDAO<java.util.Locale>
, PatternDefinitionResolverAware<java.util.Locale>
, RefreshMonitor
public class ResolvingLocaleUrlDefinitionDAO extends CachingLocaleUrlDefinitionDAO
A definitions DAO (loading URLs and using Locale as a customization key) that caches definitions that have been loaded and resolves inheritances.
It can check if the URLs change, but by default this feature is turned off.
applicationContext, lastModifiedDates, reader, sources
CHECK_REFRESH_INIT_PARAMETER, checkRefresh, definitionResolver, locale2definitionMap
Constructor | Description |
---|---|
ResolvingLocaleUrlDefinitionDAO(org.apache.tiles.request.ApplicationContext applicationContext) |
Modifier and Type | Method | Description |
---|---|---|
protected java.util.Map<java.lang.String,Definition> |
copyDefinitionMap(java.util.Map<java.lang.String,Definition> localeDefsMap) |
Copies the definition map to be passed to a higher level of customization
key.
|
protected Definition |
getDefinitionFromResolver(java.lang.String name,
java.util.Locale customizationKey) |
Returns a definition from the definition resolver.
|
protected java.util.Map<java.lang.String,Definition> |
loadDefinitions(java.util.Locale customizationKey) |
Tries to load definitions if necessary.
|
protected java.util.Map<java.lang.String,Definition> |
loadParentDefinitions(java.util.Locale parentLocale) |
Loads parent definitions, i.e.
|
protected void |
resolveInheritance(Definition definition,
java.util.Map<java.lang.String,Definition> definitions,
java.util.Locale locale,
java.util.Set<java.lang.String> alreadyResolvedDefinitions) |
Resolve locale-specific inheritance.
|
protected void |
resolveInheritances(java.util.Map<java.lang.String,Definition> map,
java.util.Locale locale) |
Resolve locale-specific extended instances.
|
loadDefinitionsFromResource, refreshRequired, setReader, setSources
checkAndloadDefinitions, getDefinition, getDefinitions, loadDefinitionsFromResources, loadRawDefinitionsFromResources, setCheckRefresh, setPatternDefinitionResolver
public ResolvingLocaleUrlDefinitionDAO(org.apache.tiles.request.ApplicationContext applicationContext)
protected java.util.Map<java.lang.String,Definition> loadParentDefinitions(java.util.Locale parentLocale)
loadParentDefinitions
in class CachingLocaleUrlDefinitionDAO
parentLocale
- The locale to use when loading URLs.protected java.util.Map<java.lang.String,Definition> loadDefinitions(java.util.Locale customizationKey)
CachingLocaleUrlDefinitionDAO
loadDefinitions
in class CachingLocaleUrlDefinitionDAO
customizationKey
- The locale to use when loading sources.protected Definition getDefinitionFromResolver(java.lang.String name, java.util.Locale customizationKey)
getDefinitionFromResolver
in class CachingLocaleUrlDefinitionDAO
name
- The name of the definition.customizationKey
- The customization key to use.protected void resolveInheritances(java.util.Map<java.lang.String,Definition> map, java.util.Locale locale)
map
- The definition map containing the definitions to resolve.locale
- The locale to use.NoSuchDefinitionException
- If a parent definition is not found.protected void resolveInheritance(Definition definition, java.util.Map<java.lang.String,Definition> definitions, java.util.Locale locale, java.util.Set<java.lang.String> alreadyResolvedDefinitions)
definition
- The definition to resolvedefinitions
- The definitions to take when obtaining a parent
definition.locale
- The locale to use.alreadyResolvedDefinitions
- The set of the definitions that have
been already resolved.NoSuchDefinitionException
- If an inheritance can not be solved.protected java.util.Map<java.lang.String,Definition> copyDefinitionMap(java.util.Map<java.lang.String,Definition> localeDefsMap)
copyDefinitionMap
in class CachingLocaleUrlDefinitionDAO
localeDefsMap
- The map of definition to be copied.localeDefsMap
into a LinkedHashMap
.Copyright © 2018. All rights reserved.