Class CNPJ
- All Implemented Interfaces:
Comparable<CNPJ>
Apresenta métodos para o uso inicial. Novos métodos e melhorias ainda serão providenciados.
Também pode representar um CPF. Apesar do CPF não ser alfanumérico, esta classe deve atender também ao CPF.
- Author:
- sergio
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringcampoAlternativo(String fieldName) Obtém o nome de campo alternativo de CNPJ alfanumérico para eventual nome de campo de CNPJ numérico.intCompara este CNPJ com outro, para fins de ordenação.bytedv()Calcula os dígitos verificadores deste CNPJ ou CPF.booleanstatic CNPJObtém um CNPJ alfanumérico a partir dos dados digitados.inthashCode()booleanisCPF()Informa se este objeto corresponde a um CPF.booleanisZeros()Informa se este CNPJ é preenchido com zeros.static StringnomeColuna(String padrao, char sufixo) Implementa a função PL/SQLCNPJ_FN_NOME_COLUNA.static CNPJparse(int cnpj9, int cnpj4, int cnpj2) Obtém um CNPJ alfanumérico a partir de um CNPJ numérico.static CNPJObtém umCNPJa partir de um CPF ou CNPJ.static CNPJObtém umCNPJa partir de um texto formatado como CNPJ (por exemplo 12.345.678/0001-35) - com algumas tolerâncias.static CNPJparseCodigoDeBarras15(String codigo_barras) Deprecated.static CNPJObtém umCNPJa partir de um texto formatado como CPF (por exemplo 123.456.789-35) - com algumas tolerâncias.Se contiver valores numéricos, remove os zeros à esquerda.int[]toOld()Converte os componentes deste CNPJ para o padrão numérico antigo, se for possível.toString()Imprime este objeto num formato adequado conforme ele corresponder a um CNPJ ou a um CPF.voidValida os dígitos verificadores deste CNPJ ou CPF.static CNPJObtém umCNPJa partir de um CPF ou CNPJ.static CNPJvalidateCNPJ(String cnpj) Obtém umCNPJa partir de um texto formatado como CNPJ (por exemplo 12.345.678/0001-35) - com algumas tolerâncias.static CNPJvalidateCPF(String cpf) Obtém umCNPJa partir de um texto formatado como CPF (por exemplo 123.456.789-35) - com algumas tolerâncias.
-
Field Details
-
ZEROS
O CNPJ padrão preenchido com zeros. Corresponde a "000000000.0000.00". -
NOVES
O CNPJ padrão preenchido com noves. Corresponde a "999999999.9999.99". -
r
Raiz do CNPJ. -
o
Ordem do CNPJ. -
d
public final byte dDígitos verificadores do CNPJ.
-
-
Constructor Details
-
CNPJ
Constroi um CNPJ ou CPF a partir dos dados oficiais do banco de dados. Os parâmetros não recebem validação nem formatação. Por isso eles já devem estar validados e formatados.Em outras situações, prefira usar
get(String, String, int).- Parameters:
r- a raiz do CNPJo- a ordem do CNPJd- os dígitos verificadores do CNPJ
-
-
Method Details
-
hashCode
public int hashCode() -
equals
-
dv
public byte dv()Calcula os dígitos verificadores deste CNPJ ou CPF. Se for tudo zero, o resultado será zero.- Returns:
- os dígitos verificadores
-
parse
Obtém um CNPJ alfanumérico a partir de um CNPJ numérico.- Parameters:
cnpj9- a raiz numéricacnpj4- a ordem numéricacnpj2- os dígitos verificadores.- Returns:
- o CNPJ alfanumérico
- See Also:
-
get
Obtém um CNPJ alfanumérico a partir dos dados digitados. Isto é útil para preencher zeros à esquerda, por exemplo.Se o resultado for equivalente a
ZEROSou aNOVES, retorna o valor constante desses campos. Isso assegura que a comparação de objetos usando==funcione quando o valor for obtido através deste método.- Parameters:
r- a raiz; pode ser nula ou vazia, e o resultado serão zeros.o- a ordem; pode ser nula ou vazia, e o resultado serão zeros.d- os dígitos verificadores- Returns:
- o CNPJ alfanumérico
-
isZeros
public boolean isZeros()Informa se este CNPJ é preenchido com zeros.- Returns:
- se este CNPJ é preenchido com zeros
-
isCPF
public boolean isCPF()Informa se este objeto corresponde a um CPF.- Returns:
- se é um CPF
-
compareTo
Compara este CNPJ com outro, para fins de ordenação.- Specified by:
compareToin interfaceComparable<CNPJ>- Parameters:
other- o outro CNPJ- Returns:
- o resultado da comparação. Maior que zero se for maior. Menor que zero se for menor. Igual a zero se for igual.
-
toOld
Converte os componentes deste CNPJ para o padrão numérico antigo, se for possível.Só deve ser usado diretamente onde (e enquanto) for obrigatório que o CNPJ atual seja compatível com o padrão numérico antigo.
- Returns:
- um array com três posições contendo os valores numéricos dos componentes deste CNPJ, se possível. Nunca é nulo.
- Throws:
RuntimeMsg- se não for possível converter para o padrão antigo
-
toString
Imprime este objeto num formato adequado conforme ele corresponder a um CNPJ ou a um CPF. -
tirarZeros
Se contiver valores numéricos, remove os zeros à esquerda. Isso é útil para as situações em que o CNPJ numérico está sendo usado na forma de texto e historicamente foi gravado sem zeros à esquerda.Como o objeto retornado não é um CNPJ válido, ele deve ser usado pontualmente em determinado trecho do programa e descartado em seguida. Não reuse esse objeto, para não dar confusão.
- Returns:
- um objeto inválido contendo os componentes deste objeto sem os zeros à esquerda se forem valores numéricos. Se forem alfanuméricos, os zeros à esquerda são mantidos.
-
nomeColuna
Implementa a função PL/SQLCNPJ_FN_NOME_COLUNA. Basicamente aplica o sufixo após um caractere de sublinhado ao fim do padrão, removendo de dentro do padrão a posição original.Por exemplo, "cli_?_ped" com sufixo "r" resultaria em "cli_ped_r".
- Parameters:
padrao- o padrão do nome atual da coluna, com um ponto de interrogação na posição onde normalmente estaria o dígito 9 ou 4 a ser substituído.sufixo- o sufixo a aplicar, normalmente "r" ou "o" (também podendo ser "R" ou "O").- Returns:
- o nome da coluna adaptado ao novo padrão contendo o sufixo indicado
-
campoAlternativo
Obtém o nome de campo alternativo de CNPJ alfanumérico para eventual nome de campo de CNPJ numérico.- Parameters:
fieldName- o nome de campo que possivelmente pertença a um CNPJ numérico- Returns:
- o nome de campo para CNPJ alfanumérico se for o caso, ou nulo se não for.
-
parseCodigoDeBarras15
Deprecated.Usarparse(String)Interpreta um código de barras com 15 caracteres. -
validateCNPJ
Obtém umCNPJa partir de um texto formatado como CNPJ (por exemplo 12.345.678/0001-35) - com algumas tolerâncias. Os pontos não são necessários, nem zeros à esquerda. Se não tiver delimitadores, deve conter 14 ou 15 dígitos. Espaços ao redor são desconsiderados. -
parseCNPJ
Obtém umCNPJa partir de um texto formatado como CNPJ (por exemplo 12.345.678/0001-35) - com algumas tolerâncias.- Parameters:
cnpj- o CNPJ a interpretar- Returns:
- o
CNPJcorrespondente ao CNPJ, ou nulo se estiver nulo, vazio ou inválido - See Also:
-
validateCPF
Obtém umCNPJa partir de um texto formatado como CPF (por exemplo 123.456.789-35) - com algumas tolerâncias. Os pontos não são necessários, nem zeros à esquerda, e o delimitador pode ser hífen ou barra. Se não tiver delimitadores, deve conter 11 dígitos. Espaços ao redor são desconsiderados. -
parseCPF
Obtém umCNPJa partir de um texto formatado como CPF (por exemplo 123.456.789-35) - com algumas tolerâncias.- Parameters:
cpf- o CPF a interpretar- Returns:
- o
CNPJcorrespondente ao CPF, ou nulo se estiver nulo, vazio ou inválido - See Also:
-
validate
Obtém umCNPJa partir de um CPF ou CNPJ. Primeiro tentavalidateCNPJ(String), e, se não funcionar, tentavalidateCPF(String). -
parse
Obtém umCNPJa partir de um CPF ou CNPJ.- Parameters:
string- o CPF ou CNPJ a interpretar- Returns:
- o
CNPJcorrespondente, ou nulo se estiver nulo, vazio ou inválido - See Also:
-
validarDV
Valida os dígitos verificadores deste CNPJ ou CPF.- Throws:
Msg- "ATENÇÃO! Digito do CPF/CGC não confere"
-
parse(String)