/* * Created on 16-Apr-2004 */ package ca.uhn.hl7v2.protocol; import java.util.List; /** * The operational context of a Processor. This defines * certain resources that are not part of the Processor, * but are needed in order to implement it, and may vary between * deployments. * * @author Bryan Tripp * @version $Revision: 1.1 $ updated on $Date: 2007/02/19 02:24:38 $ by $Author: jamesagnew $ */ public interface ProcessorContext { /** * @return the router that directs unsolicited inbound messages to * the appropriate Application */ public ApplicationRouter getRouter(); /** * @return the object responsible for transport of remotely initiated message * exchanges (normally with a remote server) */ public TransportLayer getRemotelyDrivenTransportLayer(); /** * @return the object responsible for transport of locally initiated message * exchanges (normally with a remote server) */ public TransportLayer getLocallyDrivenTransportLayer(); /** * @return the validators that determine whether a message can be * accepted for routing to the appropriate application */ public AcceptValidator[] getValidators(); /** * Adds a new validator to the list of those returned by * getValidators(). * * @param theValidator the validator to add */ public void addValidator(AcceptValidator theValidator); /** * @return a store for messages while they are being routed to the * appropriate application */ public SafeStorage getSafeStorage(); /** * Returns the list of fields that are to be included as metadata whenever a Message * is converted to a Transportable. Each field is a String Terser * path. * * @param theMetadataFields list of Terser paths of metadata fields */ public List getMetadataFields(); }