org.nuiton.i18n.bundle
Class I18nBundle

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

public class I18nBundle
extends java.lang.Object
implements java.lang.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(java.util.Locale) filter entries for a given locale, including scope inclusive property.

The method getEntries(I18nBundleScope) filter entries for a givne 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:
chemit
See Also:
I18nBundleScope, I18nBundleEntry

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

Field Detail

entries

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

Constructor Detail

I18nBundle

public I18nBundle(java.lang.String bundlePrefix)
Method Detail

getBundlePrefix

public java.lang.String getBundlePrefix()

getEntries

public I18nBundleEntry[] getEntries(java.util.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 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 java.lang.String toString()
Overrides:
toString in class java.lang.Object

getEntries

protected java.util.List<I18nBundleEntry> getEntries()

matchLocale

protected boolean matchLocale(java.util.Locale locale)

addEntry

public boolean addEntry(I18nBundleEntry entry)

iterator

public java.util.Iterator<I18nBundleEntry> iterator()
Specified by:
iterator in interface java.lang.Iterable<I18nBundleEntry>


Copyright © 2004-2009 CodeLutin. All Rights Reserved.