package eu.stork.documentservice.model; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Date; import eu.stork.documentservice.exceptions.ModelException; /** * The document model class * @author sveinbjorno * */ public class DocumentModel { private String docid; private byte[] document; private String filename; private String mimetype; private String reicevercert; private String enckey; private String enciv; private Date created; private Date updated; private Date deleted; public String getDocid() { return docid; } public void setDocid(String docid) { this.docid = docid; } public byte[] getDocument() { return document; } public void setDocument(byte[] document) { this.document = document; } public String getFilename() { return filename; } public void setFilename(String filename) { this.filename = filename; } public String getMimetype() { return mimetype; } public void setMimetype(String mimetype) { this.mimetype = mimetype; } public String getReicevercert() { return reicevercert; } public void setReicevercert(String reicevercert) { this.reicevercert = reicevercert; } public String getEnckey() { return enckey; } public void setEnckey(String enckey) { this.enckey = enckey; } public String getEnciv() { return enciv; } public void setEnciv(String enciv) { this.enciv = enciv; } public Date getCreated() { return created; } public void setCreated(Date created) { this.created = created; } public Date getUpdated() { return updated; } public void setUpdated(Date updated) { this.updated = updated; } public Date getDeleted() { return deleted; } public void setDeleted(Date deleted) { this.deleted = deleted; } public InputStream getDataStream() { if (this.document != null) return new ByteArrayInputStream(this.document); else return null; } public void setDataStream(InputStream stream) throws ModelException { try { this.document = new byte[stream.available()]; stream.read(this.document); } catch (IOException e) { throw new ModelException("Unable to parse stream.", e); } } public void insertValidate() throws ModelException { if (this.docid == null || this.docid.isEmpty()) throw new ModelException("Document ID is null or empty"); if (this.document == null) throw new ModelException("Document is null"); if (this.mimetype == null || this.mimetype.isEmpty()) throw new ModelException("MIME type is null or empty."); } public void updateValidate() throws ModelException { this.insertValidate(); if (this.created == null) throw new ModelException("Created is null"); } }