/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.qsoft.rs.sincoar.model;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author developer2
 */
@Entity
@Table(name="COMACO.TARMSOLICITUDREQUISITOS")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Tarmsolicitudrequisitos.findAll", query = "SELECT t FROM Tarmsolicitudrequisitos t"),
    @NamedQuery(name = "Tarmsolicitudrequisitos.findByCsolicitud", query = "SELECT t FROM Tarmsolicitudrequisitos t WHERE t.tarmsolicitudrequisitosPK.csolicitud = :csolicitud"),
    @NamedQuery(name = "Tarmsolicitudrequisitos.findByCrequisito", query = "SELECT t FROM Tarmsolicitudrequisitos t WHERE t.tarmsolicitudrequisitosPK.crequisito = :crequisito"),
    @NamedQuery(name = "Tarmsolicitudrequisitos.findByCtramite", query = "SELECT t FROM Tarmsolicitudrequisitos t WHERE t.tarmsolicitudrequisitosPK.ctramite = :ctramite"),
    @NamedQuery(name = "Tarmsolicitudrequisitos.findByCargado", query = "SELECT t FROM Tarmsolicitudrequisitos t WHERE t.cargado = :cargado"),
    @NamedQuery(name = "Tarmsolicitudrequisitos.findByXpathrequisito", query = "SELECT t FROM Tarmsolicitudrequisitos t WHERE t.xpathrequisito = :xpathrequisito"),
    @NamedQuery(name = "Tarmsolicitudrequisitos.findByEstadovalidacion", query = "SELECT t FROM Tarmsolicitudrequisitos t WHERE t.estadovalidacion = :estadovalidacion")})
public class Tarmsolicitudrequisitos implements Serializable {

    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected TarmsolicitudrequisitosPK tarmsolicitudrequisitosPK;
    @Column(name = "CARGADO")
    private String cargado;
    @Column(name = "XPATHREQUISITO")
    private String xpathrequisito;
    @Column(name = "ESTADOVALIDACION")
    private String estadovalidacion;
    @JoinColumns({
        @JoinColumn(name = "CREQUISITO", referencedColumnName = "CREQUISITO", insertable = false, updatable = false),
        @JoinColumn(name = "CTRAMITE", referencedColumnName = "CTRAMITE", insertable = false, updatable = false)})
    @ManyToOne(optional = false)
    private Tarmrequisitoportipotramite tarmrequisitoportipotramite;
    @JoinColumn(name = "CSOLICITUD", referencedColumnName = "CSOLICITUD", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Tarmsolicitud tarmsolicitud;

    public Tarmsolicitudrequisitos() {
    }

    public Tarmsolicitudrequisitos(TarmsolicitudrequisitosPK tarmsolicitudrequisitosPK) {
        this.tarmsolicitudrequisitosPK = tarmsolicitudrequisitosPK;
    }

    public Tarmsolicitudrequisitos(String csolicitud, String crequisito, long ctramite) {
        this.tarmsolicitudrequisitosPK = new TarmsolicitudrequisitosPK(csolicitud, crequisito, ctramite);
    }

    public TarmsolicitudrequisitosPK getTarmsolicitudrequisitosPK() {
        return tarmsolicitudrequisitosPK;
    }

    public void setTarmsolicitudrequisitosPK(TarmsolicitudrequisitosPK tarmsolicitudrequisitosPK) {
        this.tarmsolicitudrequisitosPK = tarmsolicitudrequisitosPK;
    }

    public String getCargado() {
        return cargado;
    }

    public void setCargado(String cargado) {
        this.cargado = cargado;
    }

    public String getXpathrequisito() {
        return xpathrequisito;
    }

    public void setXpathrequisito(String xpathrequisito) {
        this.xpathrequisito = xpathrequisito;
    }

    public String getEstadovalidacion() {
        return estadovalidacion;
    }

    public void setEstadovalidacion(String estadovalidacion) {
        this.estadovalidacion = estadovalidacion;
    }

    public Tarmrequisitoportipotramite getTarmrequisitoportipotramite() {
        return tarmrequisitoportipotramite;
    }

    public void setTarmrequisitoportipotramite(Tarmrequisitoportipotramite tarmrequisitoportipotramite) {
        this.tarmrequisitoportipotramite = tarmrequisitoportipotramite;
    }

    public Tarmsolicitud getTarmsolicitud() {
        return tarmsolicitud;
    }

    public void setTarmsolicitud(Tarmsolicitud tarmsolicitud) {
        this.tarmsolicitud = tarmsolicitud;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (tarmsolicitudrequisitosPK != null ? tarmsolicitudrequisitosPK.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 Tarmsolicitudrequisitos)) {
            return false;
        }
        Tarmsolicitudrequisitos other = (Tarmsolicitudrequisitos) object;
        if ((this.tarmsolicitudrequisitosPK == null && other.tarmsolicitudrequisitosPK != null) || (this.tarmsolicitudrequisitosPK != null && !this.tarmsolicitudrequisitosPK.equals(other.tarmsolicitudrequisitosPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.qsoft.rs.sincoar.model.Tarmsolicitudrequisitos[ tarmsolicitudrequisitosPK=" + tarmsolicitudrequisitosPK + " ]";
    }
    
}
