/* 
* 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 Parametros {

   LinkedHashMap<String, String> args = new LinkedHashMap<>();

   public Parametros(String[] args) {
      for (int i = 0; i < args.length; i++) {
         Parametro p = new Parametro(args[i], i);
         this.args.put(p.k, p.v);
      }
   }

   public boolean contiene(String par) {
      par = par.toLowerCase();
      return args.containsKey(par);
   }

   public boolean contieneNoNulo(String par) {
      par = par.toLowerCase();
      return args.containsKey(par) && args.get(par) != null;
   }

   public String valor(String k) {
      return args.get(k);
   }

   public class Parametro {

      public String k;
      public String v = null;
      public boolean barrado = false;
      public int pos;

      public Parametro(String s, int pos) {
         String[] pp = s.split("=");
         k = pp[0].toLowerCase();
         if (k.startsWith("/") || k.startsWith("\\")) {
            barrado = true;
            k = k.substring(1).trim();
         }
         if (pp.length > 1) {
            v = pp[1].trim();
         }
         this.pos = pos;
      }
   }
}
