package eu.stork.documentservice.data; import eu.stork.documentservice.exceptions.DatabaseException; import eu.stork.documentservice.model.DocumentModel; import eu.stork.documentservice.model.RequestModel; import eu.stork.documentservice.model.TempDocumentModel; public interface DatabaseConnector { /** * Add document to database * @param document The document model to add * @return True if successful * @throws DatabaseException */ public abstract boolean addDocument(DocumentModel document) throws DatabaseException; /** * Update document in database * @param document The document model to update * @return True if successful * @throws DatabaseException */ public abstract boolean updateDocument(DocumentModel document) throws DatabaseException; /** * Get Document from database * @param docId Document ID * @return The document found * @throws DatabaseException */ public abstract DocumentModel getDocument(String docId) throws DatabaseException; /** * Delete Document from database * @param docId Document ID * @return true if successful * @throws DatabaseException */ public abstract boolean deleteDocument(String docId) throws DatabaseException; /** * Add request to database * @param request The request to add * @return True if successful * @throws DatabaseException */ public abstract boolean addRequest(RequestModel request) throws DatabaseException; /** * Get request from database * @param requestId The request id * @return The request found * @throws DatabaseException */ public abstract RequestModel getRequest(String requestId) throws DatabaseException; /** * Get request from database * @param docId The document id * @return The request found * @throws DatabaseException */ public abstract RequestModel getRequestByDocId(String docId) throws DatabaseException; /** * Update request in database * @param request The request to update * @return True if successful * @throws DatabaseException */ public abstract boolean updateRequest(RequestModel request) throws DatabaseException; /** * Add temp document to database * @param document The document model to add * @return True if successful * @throws DatabaseException */ public abstract boolean addTempDocument(TempDocumentModel document) throws DatabaseException; /** * Get temp document from database * @param docId Document ID * @return The document found * @throws DatabaseException */ public abstract TempDocumentModel getTempDocument(String docId) throws DatabaseException; /** * Update temp document in database * @param document The document model to update * @return True if successful * @throws DatabaseException */ public abstract boolean updateTempDocument(TempDocumentModel document) throws DatabaseException; /** * Delete temp document from database * @param docId Document ID * @return true if successful * @throws DatabaseException */ public abstract boolean deleteTempDocument(String docId) throws DatabaseException; }