package es.ejie.frmk.control.apilamiento;


/**
 * <p> 
 * Clase que contiene datos generales al Componente Gestor de Apilamiento, como son:
 * <ul>
 * <li>DataSource de Apilamiento</li>
 * <li>Tabla de Apilamiento</li>
 * <li>Path del fichero de configuración</li>
 * </ul>
 * <p>
 * La clase implementa el patrón de singleton.
 * 
 * @version 1.0
 * Fecha: 15-dic-03
 */
public class Q70GestorDeApilamientoServidor {
	
	/**
	 * Única instancia de la clase <code>Q70GestorDeApilamientoServidor</code>
	 */
	private static Q70GestorDeApilamientoServidor instance = null;
	
	/**
	* Path del fichero de configuración
	*/
	private static String xmlConfiguracion = null;
	
	/**
	 * DataSource de BBDD Oracle donde se almacenarán las estructuras de dialogo en
	 * apilamientos entre operaciones de presentación de distinta aplicación.
	 */
	private static String dataSource = null;
	
	/**
	 * Tabla de BBDD Oracle donde se almacenarán las estructuras de dialogo en
	 * apilamientos entre operaciones de presentación de distinta aplicación.
	 */
	private static String table = null;

	/**
	 * Constructor privado necesario para ocultar el constructor por defecto.
	 */
	private Q70GestorDeApilamientoServidor ()
	{
	}

	/**
	 * Método estático que devuelve la única instancia del
	 * <code>Q70GestorDeApilamientoServidor</code>.
	 * 
	 * @return Única instancia del <code>Q70GestorDeApilamientoServidor</code>.
	 */
	public static Q70GestorDeApilamientoServidor getSingleton()
	{
		if (instance == null)
			instance = new Q70GestorDeApilamientoServidor();
		return instance;
	}
	
	/**
	 * Método de acceso en lectura al datasource donde se serializa la info de apilamiento en BBDD
	 * @return Nombre del datasource
	 */
	public String getDataSource() {
		return dataSource;
	}

	/**
	 * Método de acceso en escritura al datasource donde se serializa la info de apilamiento en BBDD
	 * @param ds Nombre del datasource
	 */
	public void setDataSource(String ds) {
		dataSource = ds;
	}

	/**
	 * Método de acceso en lectura a la tabla de BBDD donde se serializa la info de apilamiento
	 * @return Tabla de BBDD
	 */
	public String getTable() {
		return table;
	}
	
	/**
	 * Método de acceso en escritura a la tabla de BBDD donde se serializa la info de apilamiento
	 * @param aTable Tabla de BBDD
	 */
	public void setTable(String aTable) {
		table = aTable;
	}

	/**
	 * Devuelve el path del fichero de configuracion del Componente 
	 * @return Path del fichero de configuracion del Componente
	 */
	public String getXmlConfiguracion() {
		return xmlConfiguracion;
	}

	/**
	 * Asigna el valor pasado por parametro como nuevo path del fichero de configuracion del Componente.
	 * @param aXmlConfiguracion Path del fichero de configuracion del Componente
	 */
	public void setXmlConfiguracion(String aXmlConfiguracion) {
		xmlConfiguracion = aXmlConfiguracion;
	}
}

