Class CachingLocaleUrlDefinitionDAO

    • Field Detail

      • CHECK_REFRESH_INIT_PARAMETER

        public static final java.lang.String CHECK_REFRESH_INIT_PARAMETER
        Initialization parameter to set whether we want to refresh URLs when they change.
        Since:
        2.1.0
        See Also:
        Constant Field Values
      • locale2definitionMap

        protected java.util.Map<java.util.Locale,​java.util.Map<java.lang.String,​Definition>> locale2definitionMap
        The locale-specific set of definitions objects.
        Since:
        2.1.0
      • checkRefresh

        protected boolean checkRefresh
        Flag that, when true, enables automatic checking of URLs changing.
        Since:
        2.1.0
      • definitionResolver

        protected PatternDefinitionResolver<java.util.Locale> definitionResolver
        Resolves definitions using patterns.
        Since:
        2.2.0
    • Constructor Detail

      • CachingLocaleUrlDefinitionDAO

        public CachingLocaleUrlDefinitionDAO​(org.apache.tiles.request.ApplicationContext applicationContext)
        Constructor.
        Since:
        2.1.0
    • Method Detail

      • getDefinition

        public Definition getDefinition​(java.lang.String name,
                                        java.util.Locale customizationKey)
        Returns a definition, given its name and the customization key.
        Specified by:
        getDefinition in interface DefinitionDAO<java.util.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

        public java.util.Map<java.lang.String,​Definition> getDefinitions​(java.util.Locale customizationKey)
        Returns all the definitions used of a customization key.
        Specified by:
        getDefinitions in interface DefinitionDAO<java.util.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 is false.
        Parameters:
        checkRefresh - When true, enables automatic checking of sources changing.
        Since:
        2.1.0
      • getDefinitionFromResolver

        protected Definition getDefinitionFromResolver​(java.lang.String name,
                                                       java.util.Locale customizationKey)
        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

        protected java.util.Map<java.lang.String,​Definition> checkAndloadDefinitions​(java.util.Locale customizationKey)
        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

        protected java.util.Map<java.lang.String,​Definition> loadDefinitions​(java.util.Locale customizationKey)
        Tries to load definitions if necessary.
        Parameters:
        customizationKey - The locale to use when loading sources.
        Returns:
        The loaded definitions.
        Since:
        2.1.0
      • loadDefinitionsFromResources

        protected java.util.Map<java.lang.String,​Definition> loadDefinitionsFromResources​(java.util.Locale customizationKey)
        Loads definitions from the sources.
        Parameters:
        customizationKey - The locale to use when loading Resources.
        Returns:
        The loaded definitions.
        Since:
        2.1.0
      • loadRawDefinitionsFromResources

        protected java.util.Map<java.lang.String,​Definition> loadRawDefinitionsFromResources​(java.util.Locale customizationKey)
        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

        protected java.util.Map<java.lang.String,​Definition> loadParentDefinitions​(java.util.Locale parentLocale)
        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

        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.
        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