Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.gov.al.saude.scs.model;
2
 
3
import java.io.Serializable;
4
 
5
import javax.persistence.Column;
6
import javax.persistence.Entity;
7
import javax.persistence.GeneratedValue;
8
import javax.persistence.GenerationType;
9
import javax.persistence.Id;
10
import javax.persistence.JoinColumn;
11
import javax.persistence.ManyToOne;
12
import javax.persistence.SequenceGenerator;
13
import javax.persistence.Table;
14
import javax.persistence.Transient;
15
import javax.validation.constraints.NotNull;
16
 
17
 
18
 
19
import org.hibernate.validator.constraints.NotEmpty;
20
 
21
import br.gov.al.saude.framework.core.generic.identidade.Identidade;
22
import br.gov.al.saude.framework.core.interfaces.Alterar;
23
import br.gov.al.saude.framework.core.interfaces.Cadastrar;
24
import br.gov.al.saude.framework.core.util.VerificadorUtil;
25
import br.gov.al.saude.scs.tipo.TipoFormaPresenca;
26
 
27
@Entity
28
@Table(name = "scs_capacitacao", schema = "sc_scs")
29
public class Capacitacao implements Serializable, Identidade {
30
 
31
        private static final long serialVersionUID = 1L;
32
 
33
        private Long sequencial;
34
        private String descricao;
35
        private Natureza natureza;
36
        private String tipoFormaPresenca;
37
        private Boolean indicadorAtivo;
38
 
39
        @Id
40
        @GeneratedValue(generator="capacitacao_generator", strategy=GenerationType.SEQUENCE)
41
        @SequenceGenerator(name="capacitacao_generator", sequenceName="sq_capacitacao", initialValue = 1, allocationSize = 1, schema="sc_scs")
42
        @Column(name="seq_capacitacao", nullable=false)
43
        public Long getSequencial() {
44
                return sequencial;
45
        }
46
        public void setSequencial(Long sequencial) {
47
                this.sequencial = sequencial;
48
        }
49
 
50
        @NotEmpty(message="Obrigatório informar a descrição.", groups={Cadastrar.class, Alterar.class})
51
        @Column(name="dsc_capacitacao", nullable=false)
52
        public String getDescricao() {
53
                return descricao;
54
        }
55
        public void setDescricao(String descricao) {
56
                this.descricao = descricao;
57
        }
58
 
59
        @NotNull(message="Obrigatório informar a natureza.", groups={Cadastrar.class, Alterar.class})
60
        @ManyToOne
61
        @JoinColumn(name="seq_natureza", referencedColumnName="seq_natureza")
62
        public Natureza getNatureza() {
63
                return natureza;
64
        }
65
        public void setNatureza(Natureza natureza) {
66
                this.natureza = natureza;
67
        }
68
 
69
        @NotEmpty(message="Obrigatório informar a forma de presença", groups={Cadastrar.class, Alterar.class})
70
        @Column(name="tip_forma_presenca", nullable=false, length=1)
71
        public String getTipoFormaPresenca() {
72
                return tipoFormaPresenca;
73
        }
74
        public void setTipoFormaPresenca(String tipoFormaPresenca) {
75
                this.tipoFormaPresenca = tipoFormaPresenca;
76
        }
77
 
78
        @Column(name="ind_ativo", nullable=false)
79
        public Boolean getIndicadorAtivo() {
80
                return indicadorAtivo;
81
        }
82
        public void setIndicadorAtivo(Boolean indicadorAtivo) {
83
                this.indicadorAtivo = indicadorAtivo;
84
        }
85
 
86
        @Override
87
        @Transient
88
        public Object getId() {
89
                return sequencial;
90
        }
91
 
92
        @Override
93
        public void setId(Object id) {
94
                this.sequencial = (Long) id;
95
        }
96
 
97
        @Override
98
        public int hashCode() {
99
                final int prime = 31;
100
                int result = 1;
101
                result = prime * result
102
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
103
                return result;
104
        }
105
 
106
        @Transient
107
        public String descricaoDoTipoFormaPresenca() {
108
                return VerificadorUtil.naoEstaNulo(getTipoFormaPresenca()) ? TipoFormaPresenca.parse(getTipoFormaPresenca()).getDescricao() : "";
109
        }
110
 
111
        @Override
112
        public boolean equals(Object obj) {
113
                if (this == obj)
114
                        return true;
115
                if (obj == null)
116
                        return false;
117
                if (getClass() != obj.getClass())
118
                        return false;
119
                Capacitacao other = (Capacitacao) obj;
120
                if (sequencial == null) {
121
                        if (other.sequencial != null)
122
                                return false;
123
                } else if (!sequencial.equals(other.sequencial))
124
                        return false;
125
                return true;
126
        }
127
 
128
}