public class CachingLocaleUrlDefinitionDAO extends BaseLocaleUrlDefinitionDAO implements Refreshable, 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.
Modifier and Type | Field and Description |
---|---|
static String |
CHECK_REFRESH_INIT_PARAMETER
Initialization parameter to set whether we want to refresh URLs when they
change.
|
protected boolean |
checkRefresh
Flag that, when
true , enables automatic checking of URLs
changing. |
protected PatternDefinitionResolver<Locale> |
definitionResolver
Resolves definitions using patterns.
|
protected Map<Locale,Map<String,Definition>> |
locale2definitionMap
The locale-specific set of definitions objects.
|
applicationContext, lastModifiedDates, reader, sourceURLs
Constructor and Description |
---|
CachingLocaleUrlDefinitionDAO()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected Map<String,Definition> |
checkAndloadDefinitions(Locale customizationKey)
Checks if URLs 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.
|
Definition |
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.
|
Map<String,Definition> |
getDefinitions(Locale customizationKey)
Returns all the definitions used of a customization key.
|
void |
init(Map<String,String> params)
Initializes the object.
|
protected Map<String,Definition> |
loadDefinitions(Locale customizationKey)
Tries to load definitions if necessary.
|
protected Map<String,Definition> |
loadDefinitionsFromURLs(Locale customizationKey)
Loads definitions from the URLs.
|
protected Map<String,Definition> |
loadParentDefinitions(Locale parentLocale)
Loads parent definitions, i.e.
|
protected Map<String,Definition> |
loadRawDefinitionsFromURLs(Locale customizationKey)
Deprecated.
|
protected void |
postDefinitionLoadOperations(Map<String,Definition> localeDefsMap,
Locale customizationKey)
Deprecated.
Never used.
|
void |
refresh()
Refreshes the stored definitions, reloading them.
|
void |
setCheckRefresh(boolean checkRefresh)
Sets the flag to check URL refresh.
|
void |
setPatternDefinitionResolver(PatternDefinitionResolver<Locale> definitionResolver)
Sets the pattern definition resolver to use.
|
addSourceURL, getResourceNames, getResourceString, identifySources, loadDefinitionsFromURL, refreshRequired, setApplicationContext, setReader, setSourceURLs
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
refreshRequired
public static final String CHECK_REFRESH_INIT_PARAMETER
protected Map<Locale,Map<String,Definition>> locale2definitionMap
protected boolean checkRefresh
true
, enables automatic checking of URLs
changing.protected PatternDefinitionResolver<Locale> definitionResolver
public CachingLocaleUrlDefinitionDAO()
public void init(Map<String,String> params)
init
in interface Initializable
init
in class BaseLocaleUrlDefinitionDAO
params
- The map of parameters.public void setPatternDefinitionResolver(PatternDefinitionResolver<Locale> definitionResolver)
setPatternDefinitionResolver
in interface PatternDefinitionResolverAware<Locale>
definitionResolver
- The pattern definition resolver.public Definition getDefinition(String name, Locale customizationKey)
getDefinition
in interface DefinitionDAO<Locale>
name
- The name of the definition.customizationKey
- The customization key.null
.
The inheritance of the definition must not be resolved.public Map<String,Definition> getDefinitions(Locale customizationKey)
getDefinitions
in interface DefinitionDAO<Locale>
customizationKey
- The customization key.public void refresh()
refresh
in interface Refreshable
public void setCheckRefresh(boolean checkRefresh)
false
.checkRefresh
- When true
, enables automatic checking
of URLs changing.protected Definition getDefinitionFromResolver(String name, Locale customizationKey)
name
- The name of the definition.customizationKey
- The customization key to use.protected Map<String,Definition> checkAndloadDefinitions(Locale customizationKey)
customizationKey
- The locale to use when loading URLs.protected Map<String,Definition> loadDefinitions(Locale customizationKey)
customizationKey
- The locale to use when loading URLs.protected Map<String,Definition> loadDefinitionsFromURLs(Locale customizationKey)
customizationKey
- The locale to use when loading URLs.protected Map<String,Definition> loadRawDefinitionsFromURLs(Locale customizationKey)
loadDefinitionsFromURLs(Locale)
.customizationKey
- The locale to use when loading URLs.protected Map<String,Definition> loadParentDefinitions(Locale parentLocale)
parentLocale
- The locale to use when loading URLs.protected void postDefinitionLoadOperations(Map<String,Definition> localeDefsMap, Locale customizationKey)
localeDefsMap
- The loaded definitions.customizationKey
- The locale to use when loading URLs.protected Map<String,Definition> copyDefinitionMap(Map<String,Definition> localeDefsMap)
localeDefsMap
- The map of definition to be copied.localeDefsMap
itself.Copyright © 2017. All rights reserved.