package es.ejie.frmk.conectores.conectorJDBC;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import es.ejie.frmk.conectores.Q70ConfiguradorConector;
/**
 * @version 1.0
 * Fecha: 18-dic-03
 *
 * Esta clase permite configurar el componente de Mensajes JMS
 * a partir de su fichero xml de configuración .
 * La clase implementa el interface Q70Configurable para autoconfigurarse 
 * a partir de un fichero xml
*/
public class Q70Configurador extends Q70ConfiguradorConector
{

	private Map configuration;
	
	/**
	 * Constructor del <code>Q70Configurador</code>.
	 * 
	 * @param <code>String</code> nombre del fichero XML de configuración
	 */
	public Q70Configurador(String ficheroXML)
	{
		super(ficheroXML);
		configuration = new HashMap(10);
	}

	/**
	 * @see es.ejie.frmk.infraestructura.utilidades.configurador.Q70Configurable#inicioPropiedad(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
	 */
	public void beginProperty(String strNombre, String strValor, String strNivel, String strPath)
	{
		super.beginProperty(strNombre, strValor, strNivel, strPath);

		if (strNombre.equals(Q70ConectorJDBC.VOLUMEN_CONECTORJDBC_CACHE))
		{
			configuration.put(Q70ConectorJDBC.VOLUMEN_CONECTORJDBC_CACHE, strValor);
			return;
		}
		if (strNombre.equals(Q70ConectorJDBC.VOLUMEN_THREAD_CACHE))
		{
			configuration.put(Q70ConectorJDBC.VOLUMEN_THREAD_CACHE, strValor);
			return;
		}
		if (strNombre.equals(Q70ConectorJDBC.LIMITE_CONEXIONES_CACHE))
		{
			configuration.put(Q70ConectorJDBC.LIMITE_CONEXIONES_CACHE, strValor);
			return;
		}
	}
	/**
	 * Devuelve la configuracion del Conector JDBC, extraida de su fichero xml de configuracion
	 * @return Mapa con los propiedades de la configuracion
	 */
	protected Map getConfiguration()
	{
		return Collections.unmodifiableMap(configuration);
	}
}