org.nuiton.i18n.bundle
Class I18nBundle

java.lang.Object
  extended by org.nuiton.i18n.bundle.I18nBundle
All Implemented Interfaces:
Iterable<I18nBundleEntry>

public class I18nBundle
extends Object
implements Iterable<I18nBundleEntry>

Class to represent a i18n Bundle.

A bundle is defined by a resource prefix (eg /tmp/bundle.properties), and a list of locale implemented entries.

The property bundlePrefix is the equals order property.

The property entries contains all entries defined for this bundle.

The method getEntries(Locale) filter entries for a given locale, including scope inclusive property.

The method getEntries(I18nBundleScope) filter entries for a given scope, with no inclusive logi.

Thoses filter methods return result in the order defines in I18nBundleEntry, e.g

 XXX.properties
 XXX-fr.properties
 XXX-fr_FR.properties
 
In that way, we can load resource in the good order : load before more general scope to more specialized.

Author:
tchemit
See Also:
I18nBundleScope, I18nBundleEntry

Field Summary
protected  String bundlePrefix
          le nom du bundle encapsulé (correspond au prefix de l'url de chargement)
protected  List<I18nBundleEntry> entries
          les entrés du bundle
 
Constructor Summary
I18nBundle(String bundlePrefix)
           
 
Method Summary
 boolean addEntry(I18nBundleEntry entry)
           
 String getBundlePrefix()
           
protected  List<I18nBundleEntry> getEntries()
           
 I18nBundleEntry[] getEntries(I18nBundleScope scope)
          Obtain the entries for a given scope with no incluvie logic.
 I18nBundleEntry[] getEntries(Locale locale)
          Obtain the entries for a given locale, with a inclusive scope search.
 Iterator<I18nBundleEntry> iterator()
           
protected  boolean matchLocale(Locale locale)
           
 int size()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

entries

protected List<I18nBundleEntry> entries
les entrés du bundle


bundlePrefix

protected final String bundlePrefix
le nom du bundle encapsulé (correspond au prefix de l'url de chargement)

Constructor Detail

I18nBundle

public I18nBundle(String bundlePrefix)
Method Detail

getBundlePrefix

public String getBundlePrefix()

getEntries

public I18nBundleEntry[] getEntries(Locale locale)
Obtain the entries for a given locale, with a inclusive scope search.

The order of result respect I18nBundleEntry order.

Parameters:
locale - the required locale
Returns:
the array of entries matching extacly the locale or one of the lesser scope one.

getEntries

public I18nBundleEntry[] getEntries(I18nBundleScope scope)
Obtain the entries for a given scope with no incluvie logic.

The order of result respect I18nBundleEntry order.

Parameters:
scope - the required scope
Returns:
the list of entries matching exactly the given scope

size

public int size()
Returns:
number of entries in bundle

toString

public String toString()
Overrides:
toString in class Object

getEntries

protected List<I18nBundleEntry> getEntries()

matchLocale

protected boolean matchLocale(Locale locale)

addEntry

public boolean addEntry(I18nBundleEntry entry)

iterator

public Iterator<I18nBundleEntry> iterator()
Specified by:
iterator in interface Iterable<I18nBundleEntry>


Copyright © 2004-2011 CodeLutin. All Rights Reserved.