Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.gov.al.saude.rhd.model;

import java.io.Serializable;

import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.Valid;

import br.gov.al.saude.framework.core.generic.identidade.Identidade;
import br.gov.al.saude.rhd.model.view.QualificacaoServidorView;
import br.gov.al.saude.rhd.model.view.ServidorDadoFuncionalView;

@Entity
@Table(name = "rhd_qualifservido_servidavalia", schema = "sc_rhd")
public class QualificacaoServidorCronograma implements Serializable, Identidade {
       
        private static final long serialVersionUID = 1L;
       
        private QualificacaoServidorCronogramaId qualificacaoServidorCronogramaId;
        private ServidorDadoFuncionalView servidorDadoFuncional;
        private Cronograma cronograma;
        private QualificacaoServidorView qualificacaoServidor;

        public QualificacaoServidorCronograma() {
                qualificacaoServidorCronogramaId = new QualificacaoServidorCronogramaId();
        }
       
        @Valid
        @EmbeddedId
        public QualificacaoServidorCronogramaId getQualificacaoServidorCronogramaId() {
                return qualificacaoServidorCronogramaId;
        }
       
        public void setQualificacaoServidorCronogramaId(QualificacaoServidorCronogramaId qualificacaoServidorCronogramaId) {
                this.qualificacaoServidorCronogramaId = qualificacaoServidorCronogramaId;
        }
       
        @OneToOne
        @JoinColumn(name="seq_servidor_dadofuncional", referencedColumnName="seq_servidor_dadofuncional", insertable=false, updatable=false)
        public ServidorDadoFuncionalView getServidorDadoFuncional() {
                return servidorDadoFuncional;
        }
       
        public void setServidorDadoFuncional(
                        ServidorDadoFuncionalView servidorDadoFuncionalView) {
                this.servidorDadoFuncional = servidorDadoFuncionalView;
        }
       
        @OneToOne
        @JoinColumn(name="num_ano", referencedColumnName="num_ano", insertable=false, updatable=false)
        public Cronograma getCronograma() {
                return cronograma;
        }
       
        public void setCronograma(Cronograma cronograma) {
                this.cronograma = cronograma;
        }
       
        @OneToOne
        @JoinColumn(name="seq_servidor_qualificacao", referencedColumnName="seq_servidor_qualificacao", insertable=false, updatable=false)
        public QualificacaoServidorView getQualificacaoServidor() {
                return qualificacaoServidor;
        }
       
        public void setQualificacaoServidor(QualificacaoServidorView qualificacaoServidorView) {
                this.qualificacaoServidor = qualificacaoServidorView;
        }
       
        @Override
        @Transient
        public Object getId() {
                return qualificacaoServidorCronogramaId;
        }
        @Override
        public void setId(Object id) {
                this.qualificacaoServidorCronogramaId = (QualificacaoServidorCronogramaId) id;
        }

        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime
                                * result
                                + ((qualificacaoServidorCronogramaId == null) ? 0
                                                : qualificacaoServidorCronogramaId.hashCode());
                return result;
        }

        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                QualificacaoServidorCronograma other = (QualificacaoServidorCronograma) obj;
                if (qualificacaoServidorCronogramaId == null) {
                        if (other.qualificacaoServidorCronogramaId != null)
                                return false;
                } else if (!qualificacaoServidorCronogramaId
                                .equals(other.qualificacaoServidorCronogramaId))
                        return false;
                return true;
        }

}