1 /*
2 * Created on 19-Apr-2004
3 */
4 package ca.uhn.hl7v2.protocol.impl;
5
6 import java.util.HashMap;
7 import java.util.Map;
8
9 import ca.uhn.hl7v2.protocol.Transportable;
10
11 /**
12 * Default implementation of <code>Transportable</code>.
13 *
14 * @author <a href="mailto:bryan.tripp@uhn.on.ca">Bryan Tripp</a>
15 * @version $Revision: 1.1 $ updated on $Date: 2007-02-19 02:24:26 $ by $Author: jamesagnew $
16 */
17 public class TransportableImpl implements Transportable {
18
19 private final String myMessageText;
20 private final Map<String, Object> myMetadata;
21
22 /**
23 * Creates a new instance with no associated metadata (metadata can
24 * be added later using <code>getMetadata()</code>.
25 *
26 * @param theMessageText the text of an HL7 message
27 */
28 public TransportableImpl(String theMessageText) {
29 myMessageText = theMessageText;
30 myMetadata = new HashMap<>();
31 }
32
33 /**
34 * Creates a new instance with specified metadata (further metadata can
35 * be added later using <code>getMetadata()</code>.
36 *
37 * @param theMessageText the text of an HL7 message
38 * @param theMetadata metadata associated with the message (typical examples
39 * would be selected field values for routing)
40 */
41 public TransportableImpl(String theMessageText, Map<String, Object> theMetadata) {
42 myMessageText = theMessageText;
43 myMetadata = theMetadata;
44 }
45
46 /**
47 * @see ca.uhn.hl7v2.protocol.Transportable#getMessage()
48 */
49 public String getMessage() {
50 return myMessageText;
51 }
52
53 /**
54 * @see ca.uhn.hl7v2.protocol.Transportable#getMetadata()
55 */
56 public Map<String, Object> getMetadata() {
57 return myMetadata;
58 }
59
60 }