/* 
* 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 monitor.utiles;

import java.util.Collections;

public class colaRecuerdo extends colaBase {

   public datosMensaje get(int i) {
      if (i >= 0 && i <= lista.size()) {
         return lista.get(i);
      } else {
         return null;
      }
   }
   
   @Override
   public void encola(datosMensaje m) {
      lista.add(m);
      Collections.sort(lista);
   }

   public void encolaSinOrden(datosMensaje m) {
      lista.add(m);
   }
   
   public void eliminaMesa(String m) {
      if (lista.isEmpty()) {
         return;
      }

      for (int i = 0; i < lista.size(); i++) {
         if ((lista.get(i)).mesa.equals(m)) {
            lista.remove(i);
            return;
         }
      }
   }

   public void borrarMensajesCaducados() {
        long ahora = new java.util.Date().getTime();
        for (int i = size() - 1; i >= 0; i--) {
            datosMensaje dm = get(i);
            if (ahora - dm.fecha.getTime() > 300000) {   // 10 minutillos
                elimina(dm);
            }
        }
    }

}

