/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package xxxerp; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; /** * * @author gwampach */ @Entity @Table(name = "time_items") @NamedQueries({@NamedQuery(name = "TimeItem.findByTimeItemID", query = "SELECT t FROM TimeItem t WHERE t.timeItemID = :timeItemID"), @NamedQuery(name = "TimeItem.findByItemDate", query = "SELECT t FROM TimeItem t WHERE t.itemDate = :itemDate"), @NamedQuery(name = "TimeItem.findByDescription", query = "SELECT t FROM TimeItem t WHERE t.description = :description"), @NamedQuery(name = "TimeItem.findByBillableTime", query = "SELECT t FROM TimeItem t WHERE t.billableTime = :billableTime"), @NamedQuery(name = "TimeItem.findByNonBilleableTime", query = "SELECT t FROM TimeItem t WHERE t.nonBilleableTime = :nonBilleableTime"), @NamedQuery(name = "TimeItem.findByApproved", query = "SELECT t FROM TimeItem t WHERE t.approved = :approved"), @NamedQuery(name = "TimeItem.findByCleared", query = "SELECT t FROM TimeItem t WHERE t.cleared = :cleared")}) public class TimeItem implements Serializable { @Transient private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this); private static final long serialVersionUID = 1L; @Id @Column(name = "TimeItemID", nullable = false) private Long timeItemID; @Column(name = "ItemDate", nullable = false) @Temporal(TemporalType.DATE) private Date itemDate; @Column(name = "Description") private String description; @Column(name = "BillableTime", nullable = false) private float billableTime; @Column(name = "NonBilleableTime", nullable = false) private float nonBilleableTime; @Column(name = "Approved") private Boolean approved; @Column(name = "Cleared") private Boolean cleared; @JoinColumn(name = "UserID", referencedColumnName = "UserID") @ManyToOne private User user; @JoinColumn(name = "CaseFileID", referencedColumnName = "CaseFileID") @ManyToOne private CaseFile caseFile; public TimeItem() { } public TimeItem(Long timeItemID) { this.timeItemID = timeItemID; } public TimeItem(Long timeItemID, Date itemDate, float billableTime, float nonBilleableTime) { this.timeItemID = timeItemID; this.itemDate = itemDate; this.billableTime = billableTime; this.nonBilleableTime = nonBilleableTime; } public Long getTimeItemID() { return timeItemID; } public void setTimeItemID(Long timeItemID) { Long oldTimeItemID = this.timeItemID; this.timeItemID = timeItemID; changeSupport.firePropertyChange("timeItemID", oldTimeItemID, timeItemID); } public Date getItemDate() { return itemDate; } public void setItemDate(Date itemDate) { Date oldItemDate = this.itemDate; this.itemDate = itemDate; changeSupport.firePropertyChange("itemDate", oldItemDate, itemDate); } public String getDescription() { return description; } public void setDescription(String description) { String oldDescription = this.description; this.description = description; changeSupport.firePropertyChange("description", oldDescription, description); } public float getBillableTime() { return billableTime; } public void setBillableTime(float billableTime) { float oldBillableTime = this.billableTime; this.billableTime = billableTime; changeSupport.firePropertyChange("billableTime", oldBillableTime, billableTime); } public float getNonBilleableTime() { return nonBilleableTime; } public void setNonBilleableTime(float nonBilleableTime) { float oldNonBillableTime = this.nonBilleableTime; this.nonBilleableTime = nonBilleableTime; changeSupport.firePropertyChange("nonBilleableTime", oldNonBillableTime, nonBilleableTime); } public Boolean getApproved() { return approved; } public void setApproved(Boolean approved) { Boolean oldApproved = this.approved; this.approved = approved; changeSupport.firePropertyChange("approved", oldApproved, approved); } public Boolean getCleared() { return cleared; } public void setCleared(Boolean cleared) { Boolean oldCleared = this.cleared; this.cleared = cleared; changeSupport.firePropertyChange("cleared", oldCleared, cleared); } public User getUser() { return user; } public void setUser(User user) { User oldUser = this.user; this.user = user; changeSupport.firePropertyChange("user", oldUser, user); } public CaseFile getCaseFile() { return caseFile; } public void setCaseFile(CaseFile caseFile) { CaseFile oldCaseFile = this.caseFile; this.caseFile = caseFile; changeSupport.firePropertyChange("caseFile", oldCaseFile, caseFile); } @Override public int hashCode() { int hash = 0; hash += (timeItemID != null ? timeItemID.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 TimeItem)) { return false; } TimeItem other = (TimeItem) object; if ((this.timeItemID == null && other.timeItemID != null) || (this.timeItemID != null && !this.timeItemID.equals(other.timeItemID))) { return false; } return true; } @Override public String toString() { return "feltenerp.TimeItem[timeItemID=" + timeItemID + "]"; } public void addPropertyChangeListener(PropertyChangeListener listener) { changeSupport.addPropertyChangeListener(listener); } public void removePropertyChangeListener(PropertyChangeListener listener) { changeSupport.removePropertyChangeListener(listener); } }