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 }