/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* Copyright (c) 2014, MPL CodeInside http://codeinside.ru
*/
package ru.codeinside.adm.database;
import org.eclipse.persistence.annotations.CascadeOnDelete;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
/**
* @since 1.0.8
*/
@Entity
@Table(name = "form_buffer")
public class FormBuffer {
@Id
@Column(name = "task")
private String taskId;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created", nullable = false, updatable = false)
private Date createDate;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated", nullable = false)
private Date updateDate;
@CascadeOnDelete
@OneToMany(mappedBy = "formBuffer", fetch = FetchType.LAZY)
private Set<FieldBuffer> fields;
protected FormBuffer() {
}
public FormBuffer(String taskId, Date now) {
this.taskId = taskId;
this.createDate = this.updateDate = now;
this.fields = new HashSet<FieldBuffer>();
}
/**
* @return идентификатор блока UserTask.
*/
public String getTaskId() {
return taskId;
}
/**
* @return момент создания.
*/
public Date getCreateDate() {
return createDate;
}
/**
* @return момент изменения.
*/
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public Set<FieldBuffer> getFields() {
return fields;
}
}