TipoDeDocumento.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.licensis.notaire.negocio;
import com.licensis.notaire.dto.DtoTipoDeDocumento;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import jakarta.persistence.Basic;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.NamedQueries;
import jakarta.persistence.NamedQuery;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import jakarta.persistence.Version;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlTransient;
/**
*
* @author User
*/
@Entity
@Table(name = "tipos_de_documento")
@XmlRootElement
@NamedQueries(
{
@NamedQuery(name = "TipoDeDocumento.findAll", query = "SELECT t FROM TipoDeDocumento t"),
@NamedQuery(name = "TipoDeDocumento.findByIdTipoDocumento", query = "SELECT t FROM TipoDeDocumento t WHERE t.idTipoDocumento = :idTipoDocumento"),
@NamedQuery(name = "TipoDeDocumento.findByVence", query = "SELECT t FROM TipoDeDocumento t WHERE t.vence = :vence"),
@NamedQuery(name = "TipoDeDocumento.findByDiasVencimiento", query = "SELECT t FROM TipoDeDocumento t WHERE t.diasVencimiento = :diasVencimiento"),
@NamedQuery(name = "TipoDeDocumento.findByNombre", query = "SELECT t FROM TipoDeDocumento t WHERE t.nombre = :nombre")
})
public class TipoDeDocumento implements Serializable
{
@OneToMany(cascade = CascadeType.ALL, mappedBy = "fkIdTipoDocumento")
private Collection<DocumentoPresentado> documentoPresentadoCollection;
@Basic(optional = false)
@Column(name = "habilitado")
private boolean habilitado;
@Basic(optional = false)
@Column(name = "version")
@Version
private int version = 0;
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id_tipo_documento")
private Integer idTipoDocumento;
@Basic(optional = false)
@Column(name = "nombre")
private String nombre;
@Basic(optional = false)
@Column(name = "vence")
private boolean vence;
@Column(name = "dias_vencimiento")
private Integer diasVencimiento;
@Basic(optional = false)
@Column(name = "quien_entrega")
private String quienEntrega;
@Basic(optional = false)
@Column(name = "devuelto")
private boolean devuelto;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "tipoDeDocumento", fetch = FetchType.EAGER)
private List<PlantillaTramite> plantillaTramiteList = new ArrayList<>();
public TipoDeDocumento()
{
}
public TipoDeDocumento(Integer idTipoDocumento)
{
this.idTipoDocumento = idTipoDocumento;
}
public TipoDeDocumento(Integer idTipoDocumento, String nombre, boolean vence, String quienEntrega)
{
this.idTipoDocumento = idTipoDocumento;
this.nombre = nombre;
this.vence = vence;
this.quienEntrega = quienEntrega;
this.devuelto = false;
}
public Integer getIdTipoDocumento()
{
return idTipoDocumento;
}
public void setIdTipoDocumento(Integer idTipoDocumento)
{
this.idTipoDocumento = idTipoDocumento;
}
public String getNombre()
{
return nombre;
}
public void setNombre(String nombre)
{
this.nombre = nombre;
}
public boolean getVence()
{
return vence;
}
public void setVence(boolean vence)
{
this.vence = vence;
}
public Integer getDiasVencimiento()
{
return diasVencimiento;
}
public void setDiasVencimiento(Integer diasVencimiento)
{
this.diasVencimiento = diasVencimiento;
}
public String getQuienEntrega()
{
return quienEntrega;
}
public void setQuienEntrega(String quienEntrega)
{
this.quienEntrega = quienEntrega;
}
public boolean getDevuelto()
{
return devuelto;
}
public void setDevuelto(boolean devuelto)
{
this.devuelto = devuelto;
}
@XmlTransient
@JsonIgnore
public List<PlantillaTramite> getPlantillaTramiteList()
{
return plantillaTramiteList;
}
public void setPlantillaTramiteList(List<PlantillaTramite> plantillaTramiteList)
{
this.plantillaTramiteList = plantillaTramiteList;
}
public void setAtributos(DtoTipoDeDocumento miDto)
{
if (miDto.getIdTipoDocumento() != null)
{
this.idTipoDocumento = miDto.getIdTipoDocumento();
}
this.nombre = miDto.getNombre();
this.vence = miDto.isVence();
if (this.vence)
{
this.diasVencimiento = miDto.getDiasVencimiento();
} else
{
this.diasVencimiento = null;
}
this.quienEntrega = miDto.getQuienEntrega();
// Preserve current version when omitted; default habilitado to enabled.
// Both are nullable in the DTO and previously NPE'd on update.
if (miDto.getVersion() != null) {
this.version = miDto.getVersion();
}
habilitado = !Boolean.FALSE.equals(miDto.getHabilitado());
}
@com.fasterxml.jackson.annotation.JsonIgnore
public DtoTipoDeDocumento getDto()
{
DtoTipoDeDocumento miDto = new DtoTipoDeDocumento();
miDto.setIdTipoDocumento(this.idTipoDocumento);
miDto.setNombre(this.nombre);
miDto.setVence(this.vence);
if (miDto.isVence())
{
miDto.setDiasVencimiento(this.diasVencimiento);
}
miDto.setQuienEntrega(this.quienEntrega);
miDto.setVersion(version);
miDto.setHabilitado(habilitado);
return miDto;
}
@Override
public int hashCode()
{
int hash = 0;
hash += (idTipoDocumento != null ? idTipoDocumento.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object)
{
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof TipoDeDocumento))
{
return false;
}
TipoDeDocumento other = (TipoDeDocumento) object;
if ((this.idTipoDocumento == null && other.idTipoDocumento != null) || (this.idTipoDocumento != null && !this.idTipoDocumento.equals(other.idTipoDocumento)))
{
return false;
}
return true;
}
@Override
public String toString()
{
return "TipoDeDocumento[ idTipoDocumento=" + idTipoDocumento + " ]"
+ "[ nombre=" + nombre + " ]";
}
public int getVersion()
{
return version;
}
public void setVersion(int version)
{
this.version = version;
}
public boolean getHabilitado()
{
return habilitado;
}
public void setHabilitado(boolean habilitado)
{
this.habilitado = habilitado;
}
@XmlTransient
@JsonIgnore
public Collection<DocumentoPresentado> getDocumentoPresentadoCollection()
{
return documentoPresentadoCollection;
}
public void setDocumentoPresentadoCollection(Collection<DocumentoPresentado> documentoPresentadoCollection)
{
this.documentoPresentadoCollection = documentoPresentadoCollection;
}
}