package org.jentrata.ebms.messaging.internal.sql; import org.jentrata.ebms.MessageStatusType; import org.jentrata.ebms.MessageType; import org.jentrata.ebms.messaging.Message; import java.io.InputStream; import java.util.List; import java.util.Map; /** * RepositoryManager interface * * @author aaronwalker */ public interface RepositoryManager { void createTablesIfNotExists(); boolean isDuplicate(String messageId, String messageDirection); void insertIntoRepository(String messageId, String contentType, String messageDirection, long contentLength, InputStream content, String duplicateMessageId); void updateMessage(String messageId, String messageDirection, MessageStatusType status, String statusDescription); void insertMessage(String messageId, String messageDirection, MessageType messageType, String cpaId, String conversationId, String refMessageID); List<Message> selectMessageBy(String columnName, String value); List<Message> selectMessageBy(Map<String,Object> fields); InputStream selectRepositoryBy(String columnName, String value); }