package es.ejie.frmk.infraestructura.mail;

import es.ejie.frmk.Q70FactoriaConstantes;
import es.ejie.frmk.infraestructura.utilidades.concurrencia.Q70Lock;

/**
 * Clase de la parte Servidor que crea una nueva instancia en caso de que no
 * haya una creada. En caso contrario devuelve la que esta creada. Siempre se
 * trabaja con una instancia.
 * @version 2.0 Fecha: 22-mar-06
 */
public class Q70GestorMailServidor extends Q70GestorMailBase {

	private static Q70GestorMailServidor instancia = null;

	private Q70GestorMailServidor() {
		super();
		setLock(new Q70Lock(Q70FactoriaConstantes.ID_GESTOR_MAIL));
	}

	/**
	 * Devuelve la instancia del gestor de Mail de servidor. En caso de que no exista la crea.
	 * @return Instancia del gestor de Mail
	 */
	public static Q70GestorMailServidor getSingleton() {
		if (instancia == null)
			instancia = new Q70GestorMailServidor();

		return instancia;
	}

	/**
	 * 
	 */
	public void doDestruir() {
		instancia = null;
	}
}
