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

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.