001    /*
002     * Created on 19-Apr-2004
003     */
004    package ca.uhn.hl7v2.protocol.impl;
005    
006    import java.util.HashMap;
007    import java.util.Map;
008    
009    import ca.uhn.hl7v2.protocol.Transportable;
010    
011    /**
012     * Default implementation of <code>Transportable</code>. 
013     * 
014     * @author <a href="mailto:bryan.tripp@uhn.on.ca">Bryan Tripp</a>
015     * @version $Revision: 1.1 $ updated on $Date: 2007/02/19 02:24:26 $ by $Author: jamesagnew $
016     */
017    public class TransportableImpl implements Transportable {
018    
019        private final String myMessageText;
020        private final Map myMetadata;
021        
022        /**
023         * Creates a new instance with no associated metadata (metadata can 
024         * be added later using <code>getMetadata()</code>. 
025         * 
026         * @param theMessageText the text of an HL7 message 
027         */
028        public TransportableImpl(String theMessageText) {
029            myMessageText = theMessageText;
030            myMetadata = new HashMap();
031        }
032        
033        /**
034         * Creates a new instance with specified metadata (further metadata can   
035         * be added later using <code>getMetadata()</code>. 
036         * 
037         * @param theMessageText the text of an HL7 message 
038         * @param theMetadata metadata associated with the message (typical examples 
039         *      would be selected field values for routing) 
040         */
041        public TransportableImpl(String theMessageText, Map theMetadata) {
042            myMessageText = theMessageText;
043            myMetadata = theMetadata;
044        }
045    
046        /** 
047         * @see ca.uhn.hl7v2.protocol.Transportable#getMessage()
048         */
049        public String getMessage() {
050            return myMessageText;
051        }
052    
053        /** 
054         * @see ca.uhn.hl7v2.protocol.Transportable#getMetadata()
055         */
056        public Map getMetadata() {
057            return myMetadata;
058        }
059    
060    }