r01f.locale
Class I18NBundle

java.lang.Object
  extended by r01f.locale.I18NBundle

 class I18NBundle
extends java.lang.Object

Encapsula el acceso al objeto ResourceBundle que es donde están realmente los mensajes y la caché de mensajes. Esta clase es manejada desde la clase I18NService quien le pasa: - El ResourcesLoader encargado de cargar los ficheros de recursos - El nombre del bundle a cargar - El Locale


Nested Class Summary
static class I18NBundle.MissingKeyBehaviour
           
 
Field Summary
private  java.lang.String[] _bundleChain
           
private  I18NResourceBundleControl _control
           
private  boolean _devMode
           
private  java.util.Locale _locale
           
private  I18NBundle.MissingKeyBehaviour _missingKeyBehaviour
           
 
Constructor Summary
I18NBundle(I18NResourceBundleControl control, java.lang.String[] bundleChain, I18NBundle.MissingKeyBehaviour missingKeyBehaviour, boolean devMode, java.util.Locale locale)
           
 
Method Summary
private  java.util.ResourceBundle _retrieveBundle(java.lang.String bundleName)
           
private  java.lang.String _retrieveMessage(java.lang.String key)
          Obtiene una clave buscando en todos los Bundles de la cadena en orden
 boolean hasKey(java.lang.String key)
          Comprueba si existe un mensaje con una clave en la cadena de Bundles
 java.util.List<java.lang.String> keys()
          Devuelve todas las claves de todos los bundles de mensajes
 java.lang.String message(java.lang.String key)
          Devuelve un mensaje del bundle a partir de su clave
 java.lang.String message(java.lang.String key, java.lang.Object... params)
          Devuelve un mensaje del bundle a partir de su clave
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_control

private final I18NResourceBundleControl _control

_bundleChain

private final java.lang.String[] _bundleChain

_locale

private final java.util.Locale _locale

_missingKeyBehaviour

private final I18NBundle.MissingKeyBehaviour _missingKeyBehaviour

_devMode

private boolean _devMode
Constructor Detail

I18NBundle

I18NBundle(I18NResourceBundleControl control,
           java.lang.String[] bundleChain,
           I18NBundle.MissingKeyBehaviour missingKeyBehaviour,
           boolean devMode,
           java.util.Locale locale)
Method Detail

keys

public java.util.List<java.lang.String> keys()
Devuelve todas las claves de todos los bundles de mensajes

Returns:
todas las claves del bundle

hasKey

public boolean hasKey(java.lang.String key)
Comprueba si existe un mensaje con una clave en la cadena de Bundles

Parameters:
key - la clave
Returns:
el mensaje

message

public final java.lang.String message(java.lang.String key)
                               throws I18NMissingMessageException
Devuelve un mensaje del bundle a partir de su clave

Parameters:
key - la clave
Returns:
el mensaje tal cual aparece en el bundle (sin customizar)
Throws:
I18NMissingMessageException - si NO se encuentra la clave

message

public final java.lang.String message(java.lang.String key,
                                      java.lang.Object... params)
                               throws I18NMissingMessageException
Devuelve un mensaje del bundle a partir de su clave

Parameters:
key - la clave
params - los parametros para customizar la clave
Returns:
el mensaje customizado
Throws:
I18NMissingMessageException - si NO se encuentra la clave

toString

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

_retrieveMessage

private final java.lang.String _retrieveMessage(java.lang.String key)
                                         throws I18NMissingMessageException
Obtiene una clave buscando en todos los Bundles de la cadena en orden

Parameters:
key - la clave a buscar
Returns:
Throws:
I18NMissingMessageException

_retrieveBundle

private java.util.ResourceBundle _retrieveBundle(java.lang.String bundleName)