package gov.pr.celepar.tabeliao.pojo;
// Generated 01/09/2006 13:27:07 by J-Querena using Hibernate Tools 3.1.0.beta5
/*
Este programa � licenciado de acordo com a
LPG-AP (LICEN�A P�BLICA GERAL PARA PROGRAMAS DE COMPUTADOR DA ADMINISTRA��O P�BLICA),
vers�o 1.1 ou qualquer vers�o posterior.
A LPG-AP deve acompanhar todas PUBLICA��ES, DISTRIBUI��ES e REPRODU��ES deste Programa.
Caso uma c�pia da LPG-AP n�o esteja dispon�vel junto com este Programa,
voc� pode contatar o LICENCIANTE ou ent�o acessar diretamente:
http://www.celepar.pr.gov.br/licenca/LPG-AP.pdf
Para poder USAR, PUBLICAR, DISTRIBUIR, REPRODUZIR ou ALTERAR este Programa
� preciso estar de acordo com os termos da LPG-AP
*/
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
/**
* Classe POJO para Certificado de Autoridade.
* CertificadoAc generated by hbm2java
*/
public class CertificadoAc implements java.io.Serializable {
// Fields
/**
*
*/
private static final long serialVersionUID = -1037490602679114348L;
private long id;
private Ac ac;
private String keyId;
private String numSerie;
private Date dtValidadeIni;
private Date dtValidadeFim;
private Date dtInclusao;
private boolean revogado;
private byte[] arquivo;
private Set<CertificadoPublico> certificadosPublicos = new HashSet<CertificadoPublico>(0);
private Set<CertificadoRevogado> certificadosRevogados = new HashSet<CertificadoRevogado>(0);
// Constructors
/** default constructor */
public CertificadoAc() {
}
/**
* minimal constructor
* @param id
* @param ac
* @param dtValidadeIni
* @param dtValidadeFim
* @param dtInclusao
* @param revogado
* @param arquivo
*/
public CertificadoAc(long id, Ac ac, Date dtValidadeIni, Date dtValidadeFim, Date dtInclusao, boolean revogado, byte[] arquivo) {
this.id = id;
this.ac = ac;
this.dtValidadeIni = dtValidadeIni;
this.dtValidadeFim = dtValidadeFim;
this.dtInclusao = dtInclusao;
this.revogado = revogado;
this.arquivo = arquivo;
}
/**
* full constructor
* @param id
* @param ac
* @param dtValidadeIni
* @param dtValidadeFim
* @param dtInclusao
* @param revogado
* @param arquivo
* @param certificadosPublicos
* @param certificadosRevogados
*/
public CertificadoAc(long id, Ac ac, Date dtValidadeIni, Date dtValidadeFim, Date dtInclusao, boolean revogado, byte[] arquivo, Set<CertificadoPublico> certificadosPublicos, Set<CertificadoRevogado> certificadosRevogados) {
this.id = id;
this.ac = ac;
this.dtValidadeIni = dtValidadeIni;
this.dtValidadeFim = dtValidadeFim;
this.dtInclusao = dtInclusao;
this.revogado = revogado;
this.arquivo = arquivo;
this.certificadosPublicos = certificadosPublicos;
this.certificadosRevogados = certificadosRevogados;
}
/**
*
* @return Identificador do certificado
*/
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
/**
*
* @return identificador da Chave
*/
public String getKeyId() {
return keyId;
}
public void setKeyId(String keyId) {
this.keyId = keyId;
}
/**
*
* @return Autoridade Certificadora (gov.pr.celepar.tabeliao.pojo.Ac)
*/
public Ac getAc() {
return this.ac;
}
public void setAc(Ac ac) {
this.ac = ac;
}
public String getNumSerie() {
return numSerie;
}
public void setNumSerie(String numSerie) {
this.numSerie = numSerie;
}
/**
*
* @return Data e hora do inicio da validade do certificado
*/
public Date getDtValidadeIni() {
return this.dtValidadeIni;
}
public void setDtValidadeIni(Date dtValidadeIni) {
this.dtValidadeIni = dtValidadeIni;
}
/**
*
* @return Data e hora do fim da validade do certificado
*/
public Date getDtValidadeFim() {
return this.dtValidadeFim;
}
public void setDtValidadeFim(Date dtValidadeFim) {
this.dtValidadeFim = dtValidadeFim;
}
/**
*
* @return data de inclusao do certificado na base de dados do Tabeliao
*/
public Date getDtInclusao() {
return this.dtInclusao;
}
public void setDtInclusao(Date dtInclusao) {
this.dtInclusao = dtInclusao;
}
/**
*
* @return true, se o Certificado esta revogado
*/
public boolean isRevogado() {
return this.revogado;
}
public void setRevogado(boolean revogado) {
this.revogado = revogado;
}
/**
*
* @return conteudo do arquivo de certificado
*/
public byte[] getArquivo() {
return this.arquivo;
}
public void setArquivo(byte[] arquivo) {
this.arquivo = arquivo;
}
public Set<CertificadoPublico> getCertificadosPublicos() {
return this.certificadosPublicos;
}
public void setCertificadosPublicos(Set<CertificadoPublico> certificadosPublicos) {
this.certificadosPublicos = certificadosPublicos;
}
public Set<CertificadoRevogado> getCertificadosRevogados() {
return this.certificadosRevogados;
}
public void setCertificadosRevogados(Set<CertificadoRevogado> certificadosRevogados) {
this.certificadosRevogados = certificadosRevogados;
}
/**
* @param o -> Certificado
* @return true, se o certificado informado eh identico.
*/
public boolean equals(Object o) {
//Se o objeto eh null retorna false
if(o == null) {
return false;
}
if (o instanceof CertificadoAc) {
CertificadoAc other = (CertificadoAc) o;
byte[] oArquivo = other.getArquivo();
//Se ambos s�o iguais retorna true
if(oArquivo == arquivo) {
return true;
}
//Se um dos arquivos eh null retorna false
if(arquivo == null || oArquivo == null) {
return false;
}
//Se o tamanho dos arquivos sao diferentes retorna false
if(arquivo.length != oArquivo.length) {
return false;
}
//Se os dados dos arquivos sao diferentes retornal false
for(int i=0 ; i<arquivo.length ; i++){
if(arquivo[i] != oArquivo[i]){
return false;
}
}
//Se chegou aqui retorna true
return true;
}
//Se o objeto nao eh do tipo CertificadoAc retorna false
return false;
}
/**
* @return valor do Hash do certificado
*/
public int hashCode() {
//Se o arquivo eh null retorna 0
if(arquivo == null) {
return 0;
}
//Retorna o hash do byteArray em formato de String
return new String(arquivo).hashCode();
}
}