Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:
  TilesApplicationContextAware, DefinitionDAO<java.util.Locale>, URLReader, PatternDefinitionResolverAware<java.util.Locale>, Refreshable, RefreshMonitor, Initializable

Direct Known Subclasses:
  ResolvingLocaleUrlDefinitionDAO

    public class CachingLocaleUrlDefinitionDAO

extends BaseLocaleUrlDefinitionDAO
implements Refreshable, PatternDefinitionResolverAware<java.util.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: 823662 $ $Date: 2009-10-09 20:48:03 +0200 (ven, 09 ott 2009) $

Field Summary
`static java.lang.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<java.util.Locale>` | `definitionResolver` Resolves definitions using patterns.
`protected java.util.Map<java.util.Locale,java.util.Map<java.lang.String,Definition>>` | `locale2definitionMap` The locale-specific set of definitions objects.

Fields inherited from class org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO
`applicationContext, lastModifiedDates, reader, sourceURLs`

Constructor Summary
`CachingLocaleUrlDefinitionDAO()` Constructor.

Method Summary
`protected java.util.Map<java.lang.String,Definition>` | `checkAndloadDefinitions(java.util.Locale customizationKey)` Checks if URLs have changed.
`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.
`Definition` | `getDefinition(java.lang.String name, java.util.Locale customizationKey)` Returns a definition, given its name and the customization key.
`protected Definition` | `getDefinitionFromResolver(java.lang.String name, java.util.Locale customizationKey)` Returns a definition from the definition resolver.
`java.util.Map<java.lang.String,Definition>` | `getDefinitions(java.util.Locale customizationKey)` Returns all the definitions used of a customization key.
`void` | `init(java.util.Map<java.lang.String,java.lang.String> params)` Initializes the object.
`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>` | `loadDefinitionsFromURLs(java.util.Locale customizationKey)` Loads definitions from the URLs.
`protected java.util.Map<java.lang.String,Definition>` | `loadParentDefinitions(java.util.Locale parentLocale)` Loads parent definitions, i.e. definitions mapped to a parent locale.
`protected java.util.Map<java.lang.String,Definition>` | `loadRawDefinitionsFromURLs(java.util.Locale customizationKey)` Deprecated. Use `loadDefinitionsFromURLs(Locale)`.
`protected void` | `postDefinitionLoadOperations(java.util.Map<java.lang.String,Definition> localeDefsMap, java.util.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<java.util.Locale> definitionResolver)` Sets the pattern definition resolver to use.

Methods inherited from class org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO
`addSourceURL, getResourceNames, getResourceString, identifySources, loadDefinitionsFromURL, refreshRequired, setApplicationContext, setReader, setSourceURLs`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.tiles.definition.RefreshMonitor
`refreshRequired`

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()

  Constructor.

  Since:
    2.1.0

Method Detail

### init

    public void init(java.util.Map<java.lang.String,java.lang.String> params)

  Initializes the object.

  Specified by:
    `init` in interface `Initializable`
  Overrides:
    `init` in class `BaseLocaleUrlDefinitionDAO`
  Parameters:
    `params` - The map of parameters.

### setPatternDefinitionResolver

    public void setPatternDefinitionResolver(PatternDefinitionResolver<java.util.Locale> definitionResolver)

  Sets the pattern definition resolver to use.

  Specified by:
    `setPatternDefinitionResolver` in interface `PatternDefinitionResolverAware<java.util.Locale>`
  Parameters:
    `definitionResolver` - The pattern definition resolver.

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

### refresh

    public void refresh()

  Refreshes the stored definitions, reloading them.

  Specified by:
    `refresh` in interface `Refreshable`

### setCheckRefresh

    public void setCheckRefresh(boolean checkRefresh)

  Sets the flag to check URL refresh. If not called, the default is `false`.

  Parameters:
    `checkRefresh` - When `true`, enables automatic checking of URLs 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 URLs have changed. If yes, it clears the cache. Then continues loading definitions.

  Parameters:
    `customizationKey` - The locale to use when loading URLs.
  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 URLs.
  Returns:
    The loaded definitions.
  Since:
    2.1.0

### loadDefinitionsFromURLs

    protected java.util.Map<java.lang.String,Definition> loadDefinitionsFromURLs(java.util.Locale customizationKey)

  Loads definitions from the URLs.

  Parameters:
    `customizationKey` - The locale to use when loading URLs.
  Returns:
    The loaded definitions.
  Since:
    2.1.0

### loadRawDefinitionsFromURLs

    protected java.util.Map<java.lang.String,Definition> loadRawDefinitionsFromURLs(java.util.Locale customizationKey)

  Deprecated. Use `loadDefinitionsFromURLs(Locale)`.

  Loads the raw definitions from the URLs associated with a locale.

  Parameters:
    `customizationKey` - The locale to use when loading URLs.
  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

### postDefinitionLoadOperations

    protected void postDefinitionLoadOperations(java.util.Map<java.lang.String,Definition> localeDefsMap,
                                                java.util.Locale customizationKey)

  Deprecated. Never used.

  Operations to be done after definitions are loaded.

  Parameters:
    `localeDefsMap` - The loaded definitions.
    `customizationKey` - The locale to use when loading URLs.
  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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2010 Apache Software Foundation. All Rights Reserved.