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

import javax.swing.text.*;

public class JTextLimitado extends PlainDocument {
   private int limite;
   private boolean mayusculas;
   
   public JTextLimitado(int limit) {
      super();
      limite = limit;
   }

   public JTextLimitado(int limit, boolean upper) {
      super();
      limite = limit;
      mayusculas = upper;
   }
   
   @Override
   public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {
      if(str == null) return;
      if((getLength() + str.length()) <= limite) {
         if(mayusculas) str = str.toUpperCase();
         super.insertString(offset, str, attr);
       }
   }
}
