ExportDocument.java
package com.tradecloud.domain.export;
import org.hibernate.annotations.ForeignKey;
import org.springframework.stereotype.Component;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date;
@Entity
@Component(value = "ExportDocument")
@Table(name = "export_documents")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ExportDocument")
public class ExportDocument extends Document<ExportDocument> {
public enum Status {
Generated, Submitted, From_Sars, Additional_Success, Additional_Submitted, Additional_Failed
}
public enum Type {
Additional_SARS_Document, SAD_500, SAD_554_Cancellation, SAD_554, CI, Edifact_CUSRES, Asycuda_SAD, Edifact_CUSDEC,
Edifact_CUSREQ, CUSTOMS_WORKSHEET
}
private static final Long serialVersionUID = 1L;
@Enumerated(value = EnumType.STRING)
private com.tradecloud.domain.sars.Status exportStatus;
@OneToOne(fetch = FetchType.LAZY)
@ForeignKey(name = "export_documents_export_fk")
private Export export;
@Enumerated(value = EnumType.STRING)
private Status status;
private String reference;
private Date submittedDate;
private String token;
public ExportDocument() {
}
public Export getExport() {
return export;
}
public void setExport(Export export) {
this.export = export;
this.exportStatus = export.getStatus();
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
public Date getSubmittedDate() {
return submittedDate;
}
public void setSubmittedDate(Date submittedDate) {
this.submittedDate = submittedDate;
}
@Override
public int compareTo(ExportDocument e) {
if (created != null && e.created != null) {
if (created.compareTo(e.getCreated()) != 0) {
return created.compareTo(e.getCreated());
}
}
return 0;
}
public String getReference() {
return reference;
}
public void setReference(String reference) {
this.reference = reference;
}
public void setToken(String token) {
this.token = token;
}
public String getToken() {
return token;
}
public com.tradecloud.domain.sars.Status getExportStatus() {
return exportStatus;
}
public void setExportStatus(com.tradecloud.domain.sars.Status exportStatus) {
this.exportStatus = exportStatus;
}
}