org.apache.wicket.util.resource.locator
Class ResourceNameIterator

java.lang.Object
  extended by org.apache.wicket.util.resource.locator.ResourceNameIterator
All Implemented Interfaces:
java.util.Iterator<java.lang.String>

public class ResourceNameIterator
extends java.lang.Object
implements java.util.Iterator<java.lang.String>

Contains the logic to locate a resource based on a path, style (see Session), variation, locale and extension strings. The full filename will be built like: <path>_<variation>_<_<style>_<locale>.<extension>.

Resource matches will be attempted in the following order:

  1. 1. <path>_<style>_<locale>.<extension>
  2. 2. <path>_<locale>.<extension>
  3. 3. <path>_<style>.<extension>
  4. 4. <path>.<extension>

Locales may contain a language, a country and a region or variant. Combinations of these components will be attempted in the following order:

  1. locale.toString() see javadoc for Locale for more details
  2. <language>_<country>
  3. <language>

Extensions may be a comma separated list of extensions, e.g. "properties,xml"

Author:
Juergen Donnerstag

Constructor Summary
ResourceNameIterator(java.lang.String path, java.lang.String style, java.lang.String variation, java.util.Locale locale, java.lang.String extensions, boolean strict)
          Construct.
 
Method Summary
 java.lang.String getExtension()
          Get the exact filename extension used for the latest resource path.
 java.util.Locale getLocale()
          Get the exact Locale which has been used for the latest resource path.
 java.lang.String getStyle()
          Get the exact Style which has been used for the latest resource path.
 java.lang.String getVariation()
          Get the exact Variation which has been used for the latest resource path.
 boolean hasNext()
           
protected  ExtensionResourceNameIterator newExtensionResourceNameIterator(java.lang.String extensions)
           
protected  LocaleResourceNameIterator newLocaleResourceNameIterator(java.util.Locale locale, boolean strict)
           
protected  StyleAndVariationResourceNameIterator newStyleAndVariationResourceNameIterator(java.lang.String style, java.lang.String variation)
           
 java.lang.String next()
           
 void remove()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ResourceNameIterator

public ResourceNameIterator(java.lang.String path,
                            java.lang.String style,
                            java.lang.String variation,
                            java.util.Locale locale,
                            java.lang.String extensions,
                            boolean strict)
Construct.

Parameters:
path - The path of the resource. In case the parameter 'extensions' is null, the path will be checked and if a filename extension is present, it'll be used instead.
style - A theme or style (see Session)
variation - The component's variation (of the style)
locale - The Locale to apply
extensions - the filname's extensions (comma separated)
strict - If false, weaker combinations of style, locale, etc. are tested as well
Method Detail

getLocale

public final java.util.Locale getLocale()
Get the exact Locale which has been used for the latest resource path.

Returns:
current Locale

getStyle

public final java.lang.String getStyle()
Get the exact Style which has been used for the latest resource path.

Returns:
current Style

getVariation

public final java.lang.String getVariation()
Get the exact Variation which has been used for the latest resource path.

Returns:
current Variation

getExtension

public final java.lang.String getExtension()
Get the exact filename extension used for the latest resource path.

Returns:
current filename extension

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator<java.lang.String>
See Also:
Iterator.hasNext()

next

public java.lang.String next()
Specified by:
next in interface java.util.Iterator<java.lang.String>
See Also:
Iterator.next()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

newLocaleResourceNameIterator

protected LocaleResourceNameIterator newLocaleResourceNameIterator(java.util.Locale locale,
                                                                   boolean strict)
Parameters:
locale -
strict -
Returns:
New iterator

newStyleAndVariationResourceNameIterator

protected StyleAndVariationResourceNameIterator newStyleAndVariationResourceNameIterator(java.lang.String style,
                                                                                         java.lang.String variation)
Parameters:
style -
variation -
Returns:
new iterator

newExtensionResourceNameIterator

protected ExtensionResourceNameIterator newExtensionResourceNameIterator(java.lang.String extensions)
Parameters:
extensions -
Returns:
New iterator

remove

public void remove()
Specified by:
remove in interface java.util.Iterator<java.lang.String>
See Also:
Iterator.remove()


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.