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

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

public class ResourceNameIterator
extends Object
implements Iterator<String>

Contains the logic to locate a resource based on a path, a style (see Session), a locale and a extension strings. The full filename will be built like: <path>_<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(String path, String style, Locale locale, String extensions)
          Construct.
 
Method Summary
 Locale getLocale()
          Get the exact Locale which has been used for the latest resource path.
 boolean hasNext()
           
 String next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceNameIterator

public ResourceNameIterator(String path,
                            String style,
                            Locale locale,
                            String extensions)
Construct.

Parameters:
path - The path of the resource without extension
style - A theme or style (see Session)
locale - The Locale to apply
extensions - the filname's extensions (comma separated)
Method Detail

getLocale

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

Returns:
current Locale

hasNext

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

next

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

remove

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


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