ca.uhn.hl7v2.protocol.SafeStorage Maven / Gradle / Ivy
/*
* Created on 16-Apr-2004
*/
package ca.uhn.hl7v2.protocol;
import ca.uhn.hl7v2.HL7Exception;
/**
* Represents a persistent store for incoming messages. Messages
* may be stored here before an accept ACK is returned. The local
* side of the interface then takes on responsibility for delivering
* the message to the application.
*
* @author Bryan Tripp
* @version $Revision: 1.1 $ updated on $Date: 2007/02/19 02:24:38 $ by $Author: jamesagnew $
*/
public interface SafeStorage {
/**
* Stores a message so that it can be reliably retrieved and sent to
* the proper application, even if this service is restarted in the mean
* time.
*
* @param theMessage the message to store
* @throws HL7Exception if there is some problem accessing the store
*/
public void store(Transportable theMessage) throws HL7Exception;
/**
* If the given message exists in the store, it is removed.
*
* @param theMessage the message to discard
* @throws HL7Exception if there is some problem accessing the store
*/
public void discard(Transportable theMessage) throws HL7Exception;
/**
* Returns all messages that have been stored. The store retains a copy
* of each one until discard() is called. This method would be called
* after the HL7 server is restarted.
*
* @return all messages in the store
* @throws HL7Exception if there is some problem accessing the store
*/
public Transportable[] restore() throws HL7Exception;
}