package sac.pessoa.util;

/**
 * Projeto: SAC
 *
 * Tipo: HandlerCNPJ
 *
 */

import java.math.BigInteger;

/**
 *  Classe que verifica se um cpf é valido ou não
 */

public class HandlerCNPJ implements HandlerString{

  /**
   * Método usado para validar o CNPJ de uma empresa, para isso
   * é verificado se ele tem tamanho 14 e se todos os elementos
   * são dígitos.
   *
   * @param  String  A String que representa o CNPJ da empresa
   *
   * @return boolean Um boleano que indica se o CNPJ é válido ou não
   *
   * @throw  NumberFormatException caso o CNPJ não seja válido
   */

  private  boolean isValidCNPJ(String CNPJ) throws NumberFormatException{
          if (CNPJ.length() != 14){
            return false;
          }
          return true;
  }

  /**
   * Método que transforma um char em um int
   */
  private int parseInt(char c ){
          if ( Character.isDigit(c))
            return Character.getNumericValue(c);
          else {
            throw new NumberFormatException();
          }
  }
  /**
   * Método que indica se um determinado CNPJ é valido ou não, para
   * isso ele  utiliza o método isValidCNPJ.
   *
   * @param CNPJ <code>String</code> a ser validada.
   *
   * @return <code>boolean</code> indicando se o CNPJ é válido. Sendo <code>true</code>
   *                              se o CNPJ for válido, caso contrário
   *                              o método retornara <code>false</code>.
   */
  public  boolean valida (String CNPJ){
          try{
                  return isValidCNPJ(CNPJ);
          } catch (NumberFormatException nfe){
                  return false;
          }
   }

  /**
   *
   */
  public static void main(String[] args) {
	HandlerCPF h = new HandlerCPF();
	System.out.println(  h.valida("03359920481"));
	System.out.println(  h.valida("02969716429"));
	System.out.println(  h.valida("02969712429"));
	System.out.println(  h.valida("0296971a429"));
	System.out.println(  h.valida("00000000000"));
  }
}
