/*******************************************************************************
* Copyright (c) 2012 Dmitry Tikhomirov.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
*
* Contributors:
* Dmitry Tikhomirov - initial API and implementation
******************************************************************************/
package org.opensheet.shared.model;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import org.hibernate.envers.Audited;
import org.hibernate.envers.RelationTargetAuditMode;
import com.extjs.gxt.ui.client.data.BeanModelTag;
@Entity
@Audited
@Table(name= "assignment_person_detail")
public class AssignmentUserDetail implements Serializable, BeanModelTag {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@ManyToOne(fetch = FetchType.LAZY)
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
private Assignment assignment;
@ManyToOne(fetch = FetchType.LAZY)
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
private User user;
@NotNull
private Integer timeline;
@NotNull
private Integer rate;
@Temporal(value=TemporalType.DATE)
private Date started;
@Temporal(value=TemporalType.DATE)
private Date updated;
private static final long serialVersionUID = 8540044431844448342L;
public AssignmentUserDetail(){
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Assignment getAssignment() {
return assignment;
}
public void setAssignment(Assignment assignment) {
this.assignment = assignment;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Integer getTimeline() {
return timeline;
}
public void setTimeline(Integer timeline) {
this.timeline = timeline;
}
public Integer getRate() {
return rate;
}
public void setRate(Integer rate) {
this.rate = rate;
}
public Date getStarted() {
return started;
}
public void setStarted(Date started) {
this.started = started;
}
public Date getUpdated() {
return updated;
}
public void setUpdated(Date updated) {
this.updated = updated;
}
@Override
public String toString() {
return "AssignmentUserDetail [id=" + id + ", assignment=" + assignment
+ ", user=" + user + ", timeline=" + timeline + ", rate="
+ rate + ", started=" + started + ", updated=" + updated + "]";
}
}