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 ResolvingLocaleUrlDefinitionDAO

    java.lang.Object
      org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO
          org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO
              org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO

All Implemented Interfaces:
  TilesApplicationContextAware, DefinitionDAO<java.util.Locale>, URLReader, PatternDefinitionResolverAware<java.util.Locale>, Refreshable, RefreshMonitor, Initializable

    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.

Since:
  2.1.0
Version:
  $Rev: 823662 $ $Date: 2009-10-09 20:48:03 +0200 (ven, 09 ott 2009) $

Field Summary

Fields inherited from class org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO
`CHECK_REFRESH_INIT_PARAMETER, checkRefresh, definitionResolver, locale2definitionMap`

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

Constructor Summary
`ResolvingLocaleUrlDefinitionDAO()`

Method Summary
`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>` | `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 void` | `postDefinitionLoadOperations(java.util.Map<java.lang.String,Definition> localeDefsMap, java.util.Locale customizationKey)` Deprecated.
`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.

Methods inherited from class org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO
`checkAndloadDefinitions, getDefinition, getDefinitions, init, loadDefinitions, loadRawDefinitionsFromURLs, refresh, setCheckRefresh, setPatternDefinitionResolver`

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`

Constructor Detail

### ResolvingLocaleUrlDefinitionDAO

    public ResolvingLocaleUrlDefinitionDAO()

Method Detail

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

  Overrides:
    `loadParentDefinitions` in class `CachingLocaleUrlDefinitionDAO`
  Parameters:
    `parentLocale` - The locale to use when loading URLs.
  Returns:
    The loaded parent definitions.

### loadDefinitionsFromURLs

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

  Loads definitions from the URLs.

  Overrides:
    `loadDefinitionsFromURLs` in class `CachingLocaleUrlDefinitionDAO`
  Parameters:
    `customizationKey` - The locale to use when loading URLs.
  Returns:
    The loaded definitions.

### getDefinitionFromResolver

    protected Definition getDefinitionFromResolver(java.lang.String name,
                                                   java.util.Locale customizationKey)

  Returns a definition from the definition resolver.

  Overrides:
    `getDefinitionFromResolver` in class `CachingLocaleUrlDefinitionDAO`
  Parameters:
    `name` - The name of the definition.
    `customizationKey` - The customization key to use.
  Returns:
    The resolved definition.

### postDefinitionLoadOperations

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

  Deprecated.

  Operations to be done after definitions are loaded.

  Overrides:
    `postDefinitionLoadOperations` in class `CachingLocaleUrlDefinitionDAO`
  Parameters:
    `localeDefsMap` - The loaded definitions.
    `customizationKey` - The locale to use when loading URLs.

### resolveInheritances

    protected void resolveInheritances(java.util.Map<java.lang.String,Definition> map,
                                       java.util.Locale locale)

  Resolve locale-specific extended instances.

  Parameters:
    `map` - The definition map containing the definitions to resolve.
    `locale` - The locale to use.
  Throws:
    `NoSuchDefinitionException` - If a parent definition is not found.
  Since:
    2.1.0

### resolveInheritance

    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. First, resolve parent's inheritance, then set template to the parent's template. Also copy attributes setted in parent, and not set in child If instance doesn't extend anything, do nothing.

  Parameters:
    `definition` - The definition to resolve
    `definitions` - 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.
  Throws:
    `NoSuchDefinitionException` - If an inheritance can not be solved.
  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.

  Overrides:
    `copyDefinitionMap` in class `CachingLocaleUrlDefinitionDAO`
  Parameters:
    `localeDefsMap` - The map of definition to be copied.
  Returns:
    The copy of the definition map. This particular implementation deep-copies the `localeDefsMap` into a `LinkedHashMap`.
  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.