1 /*
2 * Created on 15-Apr-2004
3 */
4 package ca.uhn.hl7v2.protocol;
5
6 import java.util.Map;
7
8 /**
9 * An HL7 message in text form, with optional metadata, which can
10 * be handled in a transport layer.
11 *
12 * @author <a href="mailto:bryan.tripp@uhn.on.ca">Bryan Tripp</a>
13 * @version $Revision: 1.1 $ updated on $Date: 2007-02-19 02:24:38 $ by $Author: jamesagnew $
14 */
15 public interface Transportable {
16
17 /**
18 * @return the text of an HL7 message (either ER7 or XML encoding).
19 */
20 String getMessage();
21
22 /**
23 * @return metadata associated with the message. If the message is being
24 * sent to a <code>TransportLayer</code>, this may include selected message fields
25 * (eg to facilitate routing based on MSH fields without re-parsing the
26 * message). If the message is being received, this may include
27 * information such as the IP address of the server from which the message
28 * was received (this depends on the underlying <code>TransportLayer</code> used).
29 * Message fields are keyed with <code>Terser</code> path names.
30 */
31 Map<String, Object> getMetadata();
32
33 }