Document.java
package com.tradecloud.domain.export;
import com.tradecloud.common.base.PersistenceBase;
import javax.persistence.*;
/**
* Created by ds on 2015/12/02.
*/
@MappedSuperclass
public abstract class Document<T extends PersistenceBase> extends PersistenceBase implements Comparable<T> {
@Enumerated(value = EnumType.STRING)
private DocumentType documentType;
@Enumerated(value = EnumType.STRING)
private DocumentTitle documentTitle;
private String filename;
private Long dmsDocumentId;
@OneToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.REMOVE})
private ExportDocumentData exportDocumentData;
public DocumentType getDocumentType() {
return documentType;
}
public void setDocumentType(DocumentType documentType) {
this.documentType = documentType;
}
public DocumentTitle getDocumentTitle() {
return documentTitle;
}
public void setDocumentTitle(DocumentTitle documentTitle) {
this.documentTitle = documentTitle;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
@Deprecated //using dms
public ExportDocumentData _getDocumentData() {
return exportDocumentData;
}
@Deprecated //using dms
public void _setDocumentData(ExportDocumentData exportDocumentData) {
if (exportDocumentData != null) {
throw new IllegalStateException("now using dms, this method is kept for data migration");
}
this.exportDocumentData = exportDocumentData;
}
public Long getDmsDocumentId() {
return dmsDocumentId;
}
public void setDmsDocumentId(Long dmsDocumentId) {
this.dmsDocumentId = dmsDocumentId;
}
@Override
public int compareTo(T e) {
if (created != null && e.getCreated() != null) {
if (created.compareTo(e.getCreated()) != 0) {
return created.compareTo(e.getCreated());
}
}
return 0;
}
}