/* 
* Copyright 2016 Agencia Estatal de Administración Tibutaria
*
* Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto
* sean aprobadas por la Comisión Europea– versiones
* posteriores de la EUPL (la «Licencia»);
* Solo podrá usarse esta obra si se respeta la Licencia.
* Puede obtenerse una copia de la Licencia en:
*  
* https://joinup.ec.europa.eu/software/page/eupl
*  
* Salvo cuando lo exija la legislación aplicable o se acuerde
* por escrito, el programa distribuido con arreglo a la
* Licencia se distribuye «TAL CUAL», SIN GARANTÍAS NI CONDICIONES
* DE NINGÚN TIPO, ni expresasni implícitas.
*
* Véase la Licencia en el idioma concreto que rige los permisos y 
* limitaciones que establece la Licencia.
*/ 

package gestor.utiles;

import java.util.*;

public class Mensaje {
   String msjOriginal = "";
   String[] params;
   HashMap<String, String> namedParams = new HashMap<>();

   public Mensaje(String msj) {
      msjOriginal = msj;
      params = Global.split(msj, '|');
      for(String m : params) {
         if(m.contains("=")) {
            String[] mm = Global.split(m, '=');
            namedParams.put(mm[0].trim().toLowerCase(), mm[1].trim());
         }
      }
   }

   public boolean contiene(String nombre) {
      return namedParams.containsKey(nombre);
   }

   public String valor(String nombre) {
      return namedParams.get(nombre);
   }

   public int intValor(String nombre) throws NumberFormatException {
      return Integer.parseInt(namedParams.get(nombre));
   }

   public boolean boolValor(String nombre) {
      return namedParams.get(nombre).equals("1");
   }
   
   public String param(int i) {
      return params[i];
   }
   
   public int intParam(int i) throws NumberFormatException {
      return Integer.parseInt(params[i]);
   }

   public boolean boolParam(int i) {
      return params[i].equals("1");
   }
}
