Java tutorial
/* Copyright 2013 de Kellyton Brito. Este arquivo parte * do programa MeuCongressoNacional.com . O MeuCongressoNacional.com * um software livre; voc pode redistribu-lo e/ou modific-lo * dentro dos termos da GNU Affero General Public License como * publicada pela Fundao do Software Livre (FSF) na verso 3 * da Licena. Este programa distribudo na esperana que possa * ser til, mas SEM NENHUMA GARANTIA; sem uma garantia implcita * de ADEQUAO a qualquer MERCADO ou APLICAO EM PARTICULAR. Veja * a licena para maiores detalhes, disponvel em * meucongressonacional.com/license. Voc deve ter recebido uma cpia * da GNU Affero General Public License, sob o ttulo "LICENCA.txt", * junto com este programa, se no, acesse http://www.gnu.org/licenses/ **/ package models; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.PrePersist; import javax.persistence.PreUpdate; import org.joda.time.DateTime; import org.joda.time.Days; @Entity public class DeputadoFederalExercicio { /* * The key should be a composite key (ideCadastro and idHistorico) to avoid duplicity on insert */ @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(nullable = false) private String ideCadastro; @Column(nullable = true) private String idHistorico; @Column private String situacao; @Column(nullable = false) private Date dataInicio; @Column(nullable = true) private Date dataFim; @Column private String descricaoFim; @Column(nullable = false) private Date createdAt; @Column(nullable = true) private Date updatedAt; ///////////////////////////////////////////////// /** * O clculo do nmero de dias feito at hoje, se em aberto, ou at o dia final real * @return */ public int getNumDays() { int days = 0; if (dataFim != null) { days = Days.daysBetween(new DateTime(dataInicio), new DateTime(dataFim)).getDays(); } else { days = Days.daysBetween(new DateTime(dataInicio), new DateTime(new Date())).getDays(); } return days; } //////////////////////////////////////////////// public long getId() { return id; } public void setId(long id) { this.id = id; } public String getIdeCadastro() { return ideCadastro; } public void setIdeCadastro(String ideCadastro) { this.ideCadastro = ideCadastro; } public String getIdHistorico() { return idHistorico; } public void setIdHistorico(String idHistorico) { this.idHistorico = idHistorico; } public String getSituacao() { return situacao; } public void setSituacao(String situacao) { this.situacao = situacao; } public Date getDataInicio() { return dataInicio; } public void setDataInicio(Date dataInicio) { this.dataInicio = dataInicio; } public Date getDataFim() { return dataFim; } public void setDataFim(Date dataFim) { this.dataFim = dataFim; } public Date getCreatedAt() { return createdAt; } public String getDescricaoFim() { return descricaoFim; } public void setDescricaoFim(String descricaoFim) { this.descricaoFim = descricaoFim; } @PrePersist private void setCreatedAt() { this.createdAt = new Date(); } public Date getUpdatedAt() { return updatedAt; } @PreUpdate private void setUpdatedAt() { this.updatedAt = new Date(); } @Override public String toString() { return ideCadastro + " - " + dataInicio + " - " + dataFim + " - " + getNumDays(); } }