Package systextil
Class CNPJ
java.lang.Object
systextil.CNPJ
- All Implemented Interfaces:
Comparable<CNPJ>
Representa um CNPJ alfanumérico.
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 String
campoAlternativo
(String fieldName) Obtém o nome de campo alternativo de CNPJ alfanumérico para eventual nome de campo de CNPJ numérico.int
Compara este CNPJ com outro, para fins de ordenação.byte
dv()
Calcula os dígitos verificadores deste CNPJ ou CPF.boolean
static CNPJ
Obtém um CNPJ alfanumérico a partir dos dados digitados.int
hashCode()
boolean
isZeros()
Informa se este CNPJ é preenchido com zeros.static String
nomeColuna
(String padrao, char sufixo) Implementa a função PL/SQLCNPJ_FN_NOME_COLUNA
.static CNPJ
parse
(int cnpj9, int cnpj4, int cnpj2) Obtém um CNPJ alfanumérico a partir de um CNPJ numérico.static CNPJ
Obtém umCNPJ
a partir de um CPF ou CNPJ.static CNPJ
Obtém umCNPJ
a partir de um texto formatado como CNPJ (por exemplo 12.345.678/0001-35) - com algumas tolerâncias.static CNPJ
parseCodigoDeBarras15
(String codigo_barras) Deprecated.static CNPJ
Obtém umCNPJ
a 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.void
Valida os dígitos verificadores deste CNPJ ou CPF.static CNPJ
Obtém umCNPJ
a partir de um CPF ou CNPJ.static CNPJ
validateCNPJ
(String cnpj) Obtém umCNPJ
a partir de um texto formatado como CNPJ (por exemplo 12.345.678/0001-35) - com algumas tolerâncias.static CNPJ
validateCPF
(String cpf) Obtém umCNPJ
a 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
-
get
Obtém um CNPJ alfanumérico a partir dos dados digitados. Isto é útil para preencher zeros à esquerda, por exemplo.- Parameters:
r
- a raizo
- a ordemd
- 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
-
compareTo
Compara este CNPJ com outro, para fins de ordenação.- Specified by:
compareTo
in 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 umCNPJ
a 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 umCNPJ
a 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
CNPJ
correspondente ao CNPJ, ou nulo se estiver nulo, vazio ou inválido - See Also:
-
validateCPF
Obtém umCNPJ
a 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 umCNPJ
a 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
CNPJ
correspondente ao CPF, ou nulo se estiver nulo, vazio ou inválido - See Also:
-
validate
Obtém umCNPJ
a partir de um CPF ou CNPJ. Primeiro tentavalidateCNPJ(String)
, e, se não funcionar, tentavalidateCPF(String)
. -
parse
Obtém umCNPJ
a partir de um CPF ou CNPJ.- Parameters:
string
- o CPF ou CNPJ a interpretar- Returns:
- o
CNPJ
correspondente, 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)