/**
 * XXXX
 * Inserte aquí la descripción del tipo.
 * Fecha de creación: (09/05/07)
 */    
package com.ejie.p06b.util;

import java.util.Locale;
import java.util.ResourceBundle;

import com.ejie.p06b.general.P06BConstantes;
import com.ejie.p06b.log.P06BLog;



/**
 *  Esta clase representa una configuración específica para una región.
 */
public class P06BResources {
	
    private ResourceBundle cRecursos = null;
  
    private Locale locale = Locale.getDefault();
    private String cresName = P06BConstantes.P06B_RES_ETIQUETAS;
    
    /**
     *  Construye un nueva configuración de región.
     */
    public P06BResources() {
    }
  
    /**
     *  Construye un nueva configuración de región con una configuración loc
     *  @param  loc     configuracion local
     */
    public P06BResources(Locale loc) {
    	locale = loc;
    }

    /**
     *  Construye un nueva configuración de región con una configuración loc
     *  y un fichero de configuración resName
     *  @param  loc     configuracion local.
     *  @param  resName fichero de configuración.
     */
    public P06BResources(Locale loc, String resName) {
  	    locale = loc;
    	cresName = resName;
    }          
    
    /**
     *  Obtiene una característica astrClave de la configuración regional.
     *  @param  String  valor de la característica buscada.
     */
    public String get(String astrClave) {
	    String lstrValor = "";
	  
	    try {    
	  	    loadResources();           
	  	    lstrValor = cRecursos.getString (astrClave);
	    } catch (Exception e) {
            P06BLog.send(2,this.getClass().getName(),"P06B - REFERENCIA ERRONEA EN FICHERO DE CONFIGURACION");
        }
	    
	  return lstrValor;
    }
    
    /**
     *  Carga una configuración de región a partir de los parámetros definidos
     *  de región y fichero de configuración.
     */
    private void loadResources() {
  	    if (cRecursos == null)  {
  		    cRecursos = ResourceBundle.getBundle(cresName,locale);
  	    }
    }   
}
