001/* 002 * Created on 15-Apr-2004 003 */ 004package ca.uhn.hl7v2.protocol; 005 006import java.util.Map; 007 008/** 009 * An HL7 message in text form, with optional metadata, which can 010 * be handled in a transport layer. 011 * 012 * @author <a href="mailto:bryan.tripp@uhn.on.ca">Bryan Tripp</a> 013 * @version $Revision: 1.1 $ updated on $Date: 2007-02-19 02:24:38 $ by $Author: jamesagnew $ 014 */ 015public interface Transportable { 016 017 /** 018 * @return the text of an HL7 message (either ER7 or XML encoding). 019 */ 020 public String getMessage(); 021 022 /** 023 * @return metadata associated with the message. If the message is being 024 * sent to a <code>TransportLayer</code>, this may include selected message fields 025 * (eg to facilitate routing based on MSH fields without re-parsing the 026 * message). If the message is being received, this may include 027 * information such as the IP address of the server from which the message 028 * was received (this depends on the underlying <code>TransportLayer</code> used). 029 * Message fields are keyed with <code>Terser</code> path names. 030 */ 031 public Map<String, Object> getMetadata(); 032 033}