Testimonio.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.DtoMovimientoTestimonio;
import com.licensis.notaire.dto.DtoTestimonio;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
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.JoinColumn;
import jakarta.persistence.ManyToOne;
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 juanca
*/
@Entity
@Table(name = "testimonios")
@XmlRootElement
@NamedQueries(
{
@NamedQuery(name = "Testimonio.findAll", query = "SELECT t FROM Testimonio t"),
@NamedQuery(name = "Testimonio.findByIdTestimonio", query = "SELECT t FROM Testimonio t WHERE t.idTestimonio = :idTestimonio"),
@NamedQuery(name = "Testimonio.findByNumero", query = "SELECT t FROM Testimonio t WHERE t.numero = :numero"),
@NamedQuery(name = "Testimonio.findByEscritura", query = "SELECT t FROM Testimonio t WHERE t.fkIdEscritura.idEscritura = :idEscritura"),
@NamedQuery(name = "Testimonio.findByObservado", query = "SELECT t FROM Testimonio t WHERE t.observado = :observado")
})
public class Testimonio implements Serializable
{
@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_testimonio")
private Integer idTestimonio;
@Basic(optional = false)
@Column(name = "numero")
private int numero;
@Basic(optional = false)
@Column(name = "observado")
private boolean observado;
@Column(name = "observaciones")
private String observaciones;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "fkIdTestimonio", fetch = FetchType.LAZY)
@com.fasterxml.jackson.annotation.JsonIgnoreProperties({"fkIdTestimonio"})
private List<MovimientoTestimonio> movimientoTestimonioList = new ArrayList<>();
@JoinColumn(name = "fk_id_escritura", referencedColumnName = "id_escritura")
@ManyToOne(optional = false, fetch = FetchType.EAGER)
@com.fasterxml.jackson.annotation.JsonIgnoreProperties({"folioList", "tramiteList", "testimonioList"})
private Escritura fkIdEscritura;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "fkIdTestimonio", fetch = FetchType.LAZY)
@com.fasterxml.jackson.annotation.JsonIgnoreProperties({"fkIdTestimonio"})
private List<Copia> copiaList = new ArrayList<>();
public Testimonio()
{
}
public Testimonio(Integer idTestimonio)
{
this.idTestimonio = idTestimonio;
}
public Testimonio(Integer idTestimonio, int numero, boolean observado)
{
this.idTestimonio = idTestimonio;
this.numero = numero;
this.observado = observado;
}
public Integer getIdTestimonio()
{
return idTestimonio;
}
public void setIdTestimonio(Integer idTestimonio)
{
this.idTestimonio = idTestimonio;
}
public int getNumero()
{
return numero;
}
public void setNumero(int numero)
{
this.numero = numero;
}
public boolean getObservado()
{
return observado;
}
public void setObservado(boolean observado)
{
this.observado = observado;
}
public String getObservaciones()
{
return observaciones;
}
public void setObservaciones(String observaciones)
{
this.observaciones = observaciones;
}
@XmlTransient
@JsonIgnore
public List<MovimientoTestimonio> getMovimientoTestimonioList()
{
return movimientoTestimonioList;
}
public void setMovimientoTestimonioList(List<MovimientoTestimonio> movimientoTestimonioList)
{
this.movimientoTestimonioList = movimientoTestimonioList;
}
public Escritura getFkIdEscritura()
{
return fkIdEscritura;
}
public void setFkIdEscritura(Escritura fkIdEscritura)
{
this.fkIdEscritura = fkIdEscritura;
}
@XmlTransient
@JsonIgnore
public List<Copia> getCopiaList()
{
return copiaList;
}
public void setCopiaList(List<Copia> copiaList)
{
this.copiaList = copiaList;
}
public void setAtributos(DtoTestimonio miDto)
{
if (miDto.getIdTestimonio() != null)
{
idTestimonio = miDto.getIdTestimonio();
}
numero = miDto.getNumero();
observaciones = miDto.getObservaciones();
observado = miDto.isObservado();
version = miDto.getVersion();
if (miDto.getEscritura() != null)
{
Escritura miEscritura = new Escritura();
miEscritura.setIdEscritura(miDto.getEscritura().getIdEscritura());
fkIdEscritura = miEscritura;
}
if (miDto.getMovimientosTestimonios() != null && !miDto.getMovimientosTestimonios().isEmpty())
{
movimientoTestimonioList = new ArrayList<>();
for (Iterator<DtoMovimientoTestimonio> it = miDto.getMovimientosTestimonios().iterator(); it.hasNext();)
{
DtoMovimientoTestimonio dtoMovimientoTestimonio = it.next();
MovimientoTestimonio miMovimientoTestimonio = new MovimientoTestimonio();
miMovimientoTestimonio.setAtributos(dtoMovimientoTestimonio);
movimientoTestimonioList.add(miMovimientoTestimonio);
}
}
}
@com.fasterxml.jackson.annotation.JsonIgnore
public DtoTestimonio getDto()
{
DtoTestimonio miDto = new DtoTestimonio();
miDto.setIdTestimonio(idTestimonio);
miDto.setNumero(numero);
miDto.setObservaciones(observaciones);
miDto.setObservado(observado);
miDto.setVersion(version);
if (fkIdEscritura != null)
{
miDto.setEscritura(fkIdEscritura.getDto());
}
if (movimientoTestimonioList != null && !movimientoTestimonioList.isEmpty())
{
List<DtoMovimientoTestimonio> miLista = new ArrayList<>();
for (Iterator<MovimientoTestimonio> it = movimientoTestimonioList.iterator(); it.hasNext();)
{
MovimientoTestimonio movimientoTestimonio = it.next();
DtoMovimientoTestimonio miDtoMovimientoTestimonio = movimientoTestimonio.getDto();
miLista.add(miDtoMovimientoTestimonio);
}
miDto.setMovimientosTestimonios(miLista);
}
return miDto;
}
@Override
public int hashCode()
{
int hash = 0;
hash += (idTestimonio != null ? idTestimonio.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 Testimonio))
{
return false;
}
Testimonio other = (Testimonio) object;
if ((this.idTestimonio == null && other.idTestimonio != null) || (this.idTestimonio != null && !this.idTestimonio.equals(other.idTestimonio)))
{
return false;
}
return true;
}
@Override
public String toString()
{
String escrituraId = fkIdEscritura != null ? String.valueOf(fkIdEscritura.getIdEscritura()) : "null";
return "Testimonio[ idTestimonio=" + idTestimonio + " ]"
+ "[ numero=" + numero + " ]"
+ "[ idEscritura=" + escrituraId + " ]";
}
public int getVersion()
{
return version;
}
public void setVersion(int version)
{
this.version = version;
}
}