package org.msh.tb.entities; import org.hibernate.validator.NotNull; import org.msh.tb.entities.enums.PrevTBTreatmentOutcome; import javax.persistence.*; import java.io.Serializable; import java.util.ArrayList; import java.util.List; @Entity @Inheritance(strategy=InheritanceType.JOINED) @Table(name="prevtbtreatment") public class PrevTBTreatment implements Serializable { private static final long serialVersionUID = -4070705919226815216L; @Id @GeneratedValue(strategy=GenerationType.AUTO) private Integer id; @ManyToOne @JoinColumn(name="CASE_ID") @NotNull private TbCase tbcase; @Column(name="TREATMENT_MONTH") private Integer month; @Column(name="TREATMENT_YEAR") private int year; @Column(name="OUTCOME_MONTH") private Integer outcomeMonth; @Column(name="OUTCOME_YEAR") private Integer outcomeYear; @NotNull private PrevTBTreatmentOutcome outcome; @ManyToMany @JoinTable(name="res_prevtbtreatment", joinColumns={@JoinColumn(name="PREVTBTREATMENT_ID")}, inverseJoinColumns={@JoinColumn(name="SUBSTANCE_ID")}) private List substances = new ArrayList(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getMonth() { return month; } public void setMonth(Integer month) { this.month = month; } public int getYear() { return year; } public void setYear(int year) { this.year = year; } public PrevTBTreatmentOutcome getOutcome() { return outcome; } public void setOutcome(PrevTBTreatmentOutcome outcome) { this.outcome = outcome; } public List getSubstances() { return substances; } public void setSubstances(List substances) { this.substances = substances; } public TbCase getTbcase() { return tbcase; } public void setTbcase(TbCase tbcase) { this.tbcase = tbcase; } /** * @return the outcomeMonth */ public Integer getOutcomeMonth() { return outcomeMonth; } /** * @param outcomeMonth the outcomeMonth to set */ public void setOutcomeMonth(Integer outcomeMonth) { this.outcomeMonth = outcomeMonth; } /** * @return the outcomeYear */ public Integer getOutcomeYear() { return outcomeYear; } /** * @param outcomeYear the outcomeYear to set */ public void setOutcomeYear(Integer outcomeYear) { this.outcomeYear = outcomeYear; } public boolean hasOutcomeDate(){ if(getOutcomeMonth() != null && getOutcomeYear() != 0) return true; return false; } }