abk.text
Class AMessageBundle

java.lang.Object
  extended by abk.text.AMessageBundle

public class AMessageBundle
extends Object

Simplifica el acceso a un fichero de propiedades mediante un objeto ResourceBundle.

ø El uso habitual debería ser algo así como:

 AMessageBundle bundle = AMessageBundle.valueOf(Algo.class);
 String a = bundle.getString("key", 23);
 int i = bundle.readInt("puerto");
 


Nested Class Summary
private static class AMessageBundle.BundleKey
           
 
Field Summary
private static ACachedMap<AMessageBundle.BundleKey,AMessageBundle> cacheRef
           
private  String iBaseName
          Nombre base del ResourceBundle.
private  ResourceBundle iBundle
          Objeto para recuperar los mensajes desde un fichero de propiedades.
private  Locale iLocale
          Especificación de idioma para construir los mensajes.
 
Constructor Summary
private AMessageBundle(File file, Locale locale)
          Constructor a partir de un fichero de propiedades.
  AMessageBundle(ResourceBundle bundle, Locale locale, String basename)
          Constructor a partir de un ResourceBundle ya creado.
private AMessageBundle(String baseName, Locale locale)
          Constructor de la instancia.
 
Method Summary
static Object[] evalMessageArgs(ResourceBundle bundle, Locale locale, Object... args)
          Reemplaza los objetos AMessage que en una lista de objetos y los reemplaza por las cadenas de texto usando un ResourceBundle y Locale especificados.
 MessageFormat format(String key)
          Recupera un recurso como un formato preparado para ser usado varias veces.
static String format(String pattern, Locale locale, Object... args)
          Obtiene un mensaje desde un patrón de mensaje, usando las opciones locales y parámetros que se le pasan.
 String getBaseName()
          Devuelve el nombre base utilizado para localizar el manejador de recursos.
 ResourceBundle getBundle()
          Devuelve el objeto que maneja el lote de propiedades.
 Locale getLocale()
          Devuelve la configuración de idioma para dar formato a los mensajes.
 String getString(AMessage msg)
          Obtiene un mensaje desde el fichero de propiedades controlado por getBundle() usando el mensaje que se le pasa.
 String getString(AResourceKey resource, Object... args)
          Obtiene un mensaje desde el fichero de propiedades controlado por getBundle() y le da formato con los argumentos que se le pasan.
static String getString(ResourceBundle bundle, Locale locale, AMessage msg)
           
static String getString(ResourceBundle bundle, Locale locale, String key, boolean resource, Object... args)
          Obtiene un mensaje desde el conjunto de recursos y le da formato en el idioma concreto, con los argumentos que se le pasan.
 String getString(String key, Object... args)
          Obtiene un mensaje desde el fichero de propiedades controlado por getBundle() y le da formato con los argumentos que se le pasan.
 float readFloat(AResourceKey key)
          Lee el valor de una propiedad y la parsea como un número en coma flotante.
 float readFloat(String key)
          Lee el valor de una propiedad y la parsea como un número en coma flotante.
 int readInt(AResourceKey key)
           
 int readInt(String key)
          Lee el valor de una propiedad y la parsea como un número entero.
static AMessageBundle valueOf(Class<?> clazz)
          Constructor de la instancia.
static AMessageBundle valueOf(Class<?> clazz, Locale locale)
          Constructor de la instancia.
static AMessageBundle valueOf(File file, Locale locale)
           
static AMessageBundle valueOf(String baseName, Locale locale)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cacheRef

private static final ACachedMap<AMessageBundle.BundleKey,AMessageBundle> cacheRef

iBundle

private final ResourceBundle iBundle
Objeto para recuperar los mensajes desde un fichero de propiedades.


iLocale

private final Locale iLocale
Especificación de idioma para construir los mensajes.


iBaseName

private final String iBaseName
Nombre base del ResourceBundle. Puede ser un ruta de clase o de fichero.

Constructor Detail

AMessageBundle

private AMessageBundle(String baseName,
                       Locale locale)
Constructor de la instancia.

Parameters:
baseName - Nombre base para la búsqueda de un lote de propiedades localizado.
locale - Especificación del idioma para construir los mensajes.
Throws:
NullPointerException - si baseName o locale son null.
MissingResourceException - si no puede encontrar el recurso de propiedades a partir de baseName.

AMessageBundle

public AMessageBundle(ResourceBundle bundle,
                      Locale locale,
                      String basename)
Constructor a partir de un ResourceBundle ya creado. El nombre base de las instancias así creadas es StringUtils.EMPTY.

Parameters:
bundle - Manojo de recursos.
locale - Especificación de idioma a usar la dar formato a los mensajes.
basename - Nombre base del manejador. Si se pasa null se define una cadena vacía.

AMessageBundle

private AMessageBundle(File file,
                       Locale locale)
Constructor a partir de un fichero de propiedades. El nombre base de las instancias así creadas es la ruta del fichero.

Parameters:
file - Fichero de propiedades. Debe estar codificado en ISO-8859-1.
locale - Especificación de idioma a usar la dar formato a los mensajes.
Method Detail

valueOf

public static final AMessageBundle valueOf(String baseName,
                                           Locale locale)

valueOf

public static final AMessageBundle valueOf(Class<?> clazz)
Constructor de la instancia.

Parameters:
clazz - Clase cuyo nombre sirve como base para encontrar el fichero de propiedades.
Throws:
NullPointerException - si clazz es null.

valueOf

public static final AMessageBundle valueOf(Class<?> clazz,
                                           Locale locale)
Constructor de la instancia.

Parameters:
clazz - Clase cuyo nombre sirve como base para encontrar el fichero de propiedades.
locale - Locale a usar para seleccionar el ResourceBundle más adecuado.
Throws:
NullPointerException - si clazz o locale son nulos.

valueOf

public static final AMessageBundle valueOf(File file,
                                           Locale locale)

getBundle

public final ResourceBundle getBundle()
Devuelve el objeto que maneja el lote de propiedades.

Returns:
Instancia de ResourceBundle.

getLocale

public final Locale getLocale()
Devuelve la configuración de idioma para dar formato a los mensajes.

Returns:
La configuración de idioma para dar formato a los mensajes.

getBaseName

public final String getBaseName()
Devuelve el nombre base utilizado para localizar el manejador de recursos.

Returns:
El nombre base utilizado para localizar el manejador de recursos.

format

public MessageFormat format(String key)
Recupera un recurso como un formato preparado para ser usado varias veces.

Parameters:
key - Clave del recurso.
Returns:
Especificación de formato para ser usada varias veces.
Throws:
NullPointerException - si key es nulo.
MissingResourceException - si no se encuentra ningún recurso con key.

getString

public String getString(String key,
                        Object... args)
Obtiene un mensaje desde el fichero de propiedades controlado por getBundle() y le da formato con los argumentos que se le pasan.

Parameters:
key - Clave de la propiedad.
args - Argumentos que son formateados posicionalmente usando como patrón la cadena del fichero de propiedades. Los argumentos que sean de tipo AMessage se resuelven previamente usando el mismo bundle.
Returns:
Resultado del formateo de los argumentos sobre el texto del fichero de propiedades.
Throws:
NullPointerException - si key es nulo.
MissingResourceException - si key no se encuentra en el bundle.
IllegalArgumentException - si el valor de key no es un patrón de formato válido.

getString

public String getString(AResourceKey resource,
                        Object... args)
Obtiene un mensaje desde el fichero de propiedades controlado por getBundle() y le da formato con los argumentos que se le pasan.

Parameters:
resource - Clave de la propiedad.
args - Argumentos que son formateados posicionalmente usando como patrón la cadena del fichero de propiedades. Los argumentos que sean de tipo AMessage se resuelven previamente usando el mismo bundle.
Returns:
Resultado del formateo de los argumentos sobre el texto del fichero de propiedades.
Throws:
NullPointerException - si key es nulo.
MissingResourceException - si key no se encuentra en el bundle.
IllegalArgumentException - si el valor de key no es un patrón de formato válido.

getString

public String getString(AMessage msg)
Obtiene un mensaje desde el fichero de propiedades controlado por getBundle() usando el mensaje que se le pasa.

Parameters:
msg - Mensaje que se quiere recuperar. Los argumentos que sean de tipo AMessage se resuelven previamente usando el mismo bundle.
Returns:
Resultado del formateo de los argumentos sobre el texto del fichero de propiedades.
Throws:
NullPointerException - si bundle es nulo.
MissingResourceException - si key no se encuentra en el bundle.
IllegalArgumentException - si el valor de key no es un patrón de formato válido.

getString

public static final String getString(ResourceBundle bundle,
                                     Locale locale,
                                     String key,
                                     boolean resource,
                                     Object... args)
Obtiene un mensaje desde el conjunto de recursos y le da formato en el idioma concreto, con los argumentos que se le pasan.

Parameters:
bundle - Conjunto de recursos donde buscar la llave.
locale - Locale a utilizar para dar formato a los mensajes.
key - Clave de la propiedad.
resource - true si key es una clave al bundle de recursos, false si es un literal de patrón de formato.
args - Argumentos que son formateados posicionalmente usando como patrón la cadena del fichero de propiedades. Los argumentos que sean de tipo AMessage se resuelven previamente usando el mismo bundle.
Returns:
Resultado del formateo de los argumentos sobre el texto del fichero de propiedades.
Throws:
NullPointerException - si key es nulo.
MissingResourceException - si key no se encuentra en el bundle.
IllegalArgumentException - si el valor de key no es un patrón de formato válido.

getString

public static final String getString(ResourceBundle bundle,
                                     Locale locale,
                                     AMessage msg)

format

public static final String format(String pattern,
                                  Locale locale,
                                  Object... args)
Obtiene un mensaje desde un patrón de mensaje, usando las opciones locales y parámetros que se le pasan.

Realmente implementa una funcionalidad que debería estar en MessageFormat.

Parameters:
pattern - Patrón para construir el mensaje.
locale - Configuración local para dar formato a los parámetros.
args - Parámetros posicionales que se aplicarán al patrón.
Returns:
Resultado del formateo de los argumentos sobre el texto del fichero de propiedades, o bien el propio patrón si no se le pasan parámetros posicionales.
Throws:
IllegalArgumentException - si pattern no es válido.

evalMessageArgs

public static final Object[] evalMessageArgs(ResourceBundle bundle,
                                             Locale locale,
                                             Object... args)
Reemplaza los objetos AMessage que en una lista de objetos y los reemplaza por las cadenas de texto usando un ResourceBundle y Locale especificados.

Parameters:
args - Lista de objetos a procesar. Si vale null, se obtiene una lista vacía.
Returns:
Un nuevo arreglo de objetos en los que los elementos AMessage han sido evaluados.

readFloat

public float readFloat(AResourceKey key)
Lee el valor de una propiedad y la parsea como un número en coma flotante.

Parameters:
key - Clave de la propiedad que debe ser parseable a un número en coma flotante.
Returns:
Valor de la propiedad.
Throws:
NumberFormatException - si la propiedad no puede ser parseada como un número en coma flotante.
NullPointerException - si key es nulo.
MissingResourceException - si key no se encuentra en iBundle.
See Also:
getString(ResourceBundle,Locale,String, boolean, Object...)

readFloat

public float readFloat(String key)
Lee el valor de una propiedad y la parsea como un número en coma flotante.

Parameters:
key - Clave de la propiedad que debe ser parseable a un número en coma flotante.
Returns:
Valor de la propiedad.
Throws:
NumberFormatException - si la propiedad no puede ser parseada como un número en coma flotante.
NullPointerException - si key es nulo.
MissingResourceException - si key no se encuentra en iBundle.
See Also:
getString(ResourceBundle,Locale,String, boolean, Object...)

readInt

public int readInt(String key)
Lee el valor de una propiedad y la parsea como un número entero.

Parameters:
key - Clave de la propiedad que debe ser parseable a un número entero.
Returns:
Valor de la propiedad.
Throws:
NumberFormatException - si la propiedad no puede ser parseada como un número entero.
NullPointerException - si key es nulo.
MissingResourceException - si key no se encuentra en iBundle.
See Also:
getString(ResourceBundle,Locale,String, boolean, Object...)

readInt

public int readInt(AResourceKey key)


Copyright © 2024. All rights reserved.