106 lines
2.4 KiB
Java
Executable File
106 lines
2.4 KiB
Java
Executable File
package com.plannaplan.entities;
|
|
|
|
import java.sql.Timestamp;
|
|
import java.util.List;
|
|
|
|
import javax.persistence.Entity;
|
|
import javax.persistence.FetchType;
|
|
import javax.persistence.GeneratedValue;
|
|
import javax.persistence.GenerationType;
|
|
import javax.persistence.Id;
|
|
import javax.persistence.JoinColumn;
|
|
import javax.persistence.OneToMany;
|
|
import javax.persistence.OneToOne;
|
|
|
|
/**
|
|
* Entity of Commision grouping of state associated about commison and owner_id
|
|
*/
|
|
|
|
@Entity
|
|
public class Commision {
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.AUTO)
|
|
private Long id;
|
|
@OneToOne
|
|
@JoinColumn(name = "owner_id")
|
|
private User commisionOwner;
|
|
@OneToOne
|
|
@JoinColumn(name = "commiter_id")
|
|
private User commisionCommiter;
|
|
private Timestamp commisionDate;
|
|
|
|
@OneToMany(mappedBy = "commision", fetch = FetchType.EAGER)
|
|
private List<Assignment> assignments;
|
|
|
|
/**
|
|
*
|
|
* @param user owner of commission. Can not be null otherwise saving commision
|
|
* will fail.
|
|
*/
|
|
public Commision(User user) {
|
|
this.commisionDate = new Timestamp(System.currentTimeMillis());
|
|
this.commisionOwner = user;
|
|
this.commisionCommiter = user;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param user user whose shedule is being commited
|
|
* @param commiter user that commited new schedule
|
|
*/
|
|
public Commision(User user, User commiter) {
|
|
this(user);
|
|
this.commisionCommiter = commiter;
|
|
}
|
|
|
|
public Commision() {
|
|
}
|
|
|
|
/**
|
|
* Id getter
|
|
*
|
|
* @return id id of commision
|
|
*/
|
|
public Long getId() {
|
|
return this.id;
|
|
}
|
|
|
|
/**
|
|
* CommisionDate getter
|
|
*
|
|
* @return commisionDate
|
|
*/
|
|
public Timestamp getCommisionDate() {
|
|
return commisionDate;
|
|
}
|
|
|
|
/**
|
|
* User of given commision getter
|
|
*
|
|
* @return User commisionOwner
|
|
*/
|
|
public User getCommisionOwner() {
|
|
return commisionOwner;
|
|
}
|
|
|
|
/**
|
|
* @return User entity that created commision (can be owner or deanery user)
|
|
*/
|
|
public User getCommisionCommiter() {
|
|
if (commisionCommiter == null) {
|
|
return commisionOwner;
|
|
}
|
|
return commisionCommiter;
|
|
}
|
|
|
|
/**
|
|
* Assigments getter
|
|
*
|
|
* @return List of assignments
|
|
*/
|
|
public List<Assignment> getAssignments() {
|
|
return this.assignments;
|
|
}
|
|
|
|
}
|