package es.ejie.frmk.infraestructura.utilidades.configurador;

/**
 * Interfaz configurable que cumple cada componente de Geremua <br>
 * 
 * @author UFRM005
 * @version 1.0
 */
public interface Q70Configurable {

	/**
	 * Método que se llama al iniciar la lectura del xml de configuración
	 * */
	public void beginConfiguration();
	
	/**
	 * Método que se llama al finalizar la lectura del xml de configuración
	 * */
	public void endConfiguration();
	
	/**
	 * Método que se llama cada vez que el parser encuentra una etiqueta lista 
	 * de inicio de elemento
	 * @param strName String nombre de la lista
	 * @param strLevel String nivel de la lista genérico - Path de elementos
	 * @param strPath String path de la lista específico - Path de nombres
	 * @return void
	 * */
	public void beginList(String strName, String strLevel , String strPath );
	
	/**
	 * Método que se llama cada vez que el parser encuentra una etiqueta lista 
	 * de fin de elemento
	 * @param strName String nombre de la lista
	 * @param strLevel String nivel de la lista genérico - Path de elementos
	 * @param strPath String path de la lista específico - Path de nombres
	 * @return void
	 * */
	public void endList(String strName, String strLevel, String strPath );
	
	/**
	 * Método que se llama cada vez que el parser encuentra una etiqueta estructura 
	 * de inicio de elemento
	 * @param strName String nombre de la estructura
	 * @param strLevel String nivel de la estructura genérico - Path de elementos
	 * @param strPath String path de la estructura específico - Path de nombres
	 * @return void
	 * */
	public void beginStructure(String strName, String strLevel, String strPath);
	
	/**
	 * Método que se llama cada vez que el parser encuentra una etiqueta estructura 
	 * de fin de elemento
	 * @param strName String nombre de la estructura 
	 * @param strLevel String nivel de la estructura - Path de elementos
	 * @param strPath String path de la estructura - Path de nombres
	 * @return void
	 * */	
	public void endStructure(String strName, String strLevel, String strPath);
	
	/**
	 * Método que se llama cada vez que el parser encuentra una etiqueta propiedad 
	 * de inicio de elemento
	 * @param strName String nombre de la propiedad
	 * @param strValue String valor de la propiedad
	 * @param strLevel String nivel de la propiedad - Path de elementos
	 * @param strPath String path de la propiedad - Path de nombres
	 * @return void
	 * */	
	public void beginProperty(String strName,String strValue,String strLevel, String strPath);
	
	/**
	 * Método que se llama cada vez que el parser encuentra una etiqueta propiedad 
	 * de fin de elemento
	 * @param strName String nombre de la propiedad
	 * @param strLevel String nivel de la propiedad - Path de elementos
	 * @param strPath String path de la propiedad - Path de nombres
	 * */	
	public void endProperty(String strName, String strLevel, String strPath);

}
