/// <seealso cref="Genetibase.NuGenHL7.protocol.ApplicationRouter.enableBinding(Genetibase.NuGenHL7.protocol.ApplicationRouter.AppRoutingData)"> /// </seealso> public virtual void enableBinding(AppRoutingData theRoutingData) { Binding b = findBinding(theRoutingData); if (b != null) { b.active = true; } }
/// <seealso cref="Genetibase.NuGenHL7.protocol.ApplicationRouter.hasActiveBinding(Genetibase.NuGenHL7.protocol.ApplicationRouter.AppRoutingData)"> /// </seealso> public virtual bool hasActiveBinding(AppRoutingData theRoutingData) { bool result = false; NuGenReceivingApplication app = findDestination(theRoutingData); if (app != null) { result = true; } return(result); }
/// <param name="theMessageData">routing data related to a particular message /// </param> /// <param name="theReferenceData">routing data related to a binding, which may include /// wildcards /// </param> /// <param name="exact">if true, each field must match exactly /// </param> /// <returns> true if the message data is consist with the reference data, ie all /// values either match or are wildcards in the reference /// </returns> public static bool matches(AppRoutingData theMessageData, AppRoutingData theReferenceData) { bool result = false; Genetibase.NuGenHL7.protocol.AppRoutingData ref_Renamed = theReferenceData; Genetibase.NuGenHL7.protocol.AppRoutingData msg = theMessageData; if (matches(msg.MessageType, ref_Renamed.MessageType) && matches(msg.TriggerEvent, ref_Renamed.TriggerEvent) && matches(msg.ProcessingId, ref_Renamed.ProcessingId) && matches(msg.Version, ref_Renamed.Version)) { result = true; } return(result); }
/// <param name="theRoutingData"> /// </param> /// <returns> the binding with an EXACT match on routing data if one exists /// </returns> private Binding findBinding(AppRoutingData theRoutingData) { Binding result = null; for (int i = 0; i < myBindings.Count && result == null; i++) { Binding binding = (Binding)myBindings[i]; if (theRoutingData.Equals(binding.routingData)) { result = binding; } } return(result); }
/// <param name="theRoutingData"> /// </param> /// <returns> the application from the binding with a WILDCARD match, if one exists /// </returns> private NuGenReceivingApplication findDestination(AppRoutingData theRoutingData) { NuGenReceivingApplication result = null; for (int i = 0; i < myBindings.Count && result == null; i++) { Binding binding = (Binding)myBindings[i]; if (matches(theRoutingData, binding.routingData) && binding.active) { result = binding.application; } } return(result); }
public Binding(AppRoutingData theRoutingData, bool isActive, NuGenReceivingApplication theApplication) { routingData = theRoutingData; active = isActive; application = theApplication; }
/// <seealso cref="Genetibase.NuGenHL7.protocol.ApplicationRouter.bindApplication("> /// Genetibase.NuGenHL7.protocol.ApplicationRouter.AppRoutingData, Genetibase.NuGenHL7.protocol.ReceivingApplication) /// </seealso> public virtual void bindApplication(AppRoutingData theRoutingData, NuGenReceivingApplication theApplication) { Binding binding = new Binding(theRoutingData, true, theApplication); myBindings.Add(binding); }
/// <param name="theMessageData">routing data related to a particular message /// </param> /// <param name="theReferenceData">routing data related to a binding, which may include /// wildcards /// </param> /// <param name="exact">if true, each field must match exactly /// </param> /// <returns> true if the message data is consist with the reference data, ie all /// values either match or are wildcards in the reference /// </returns> public static bool matches(AppRoutingData theMessageData, AppRoutingData theReferenceData) { bool result = false; Genetibase.NuGenHL7.protocol.AppRoutingData ref_Renamed = theReferenceData; Genetibase.NuGenHL7.protocol.AppRoutingData msg = theMessageData; if (matches(msg.MessageType, ref_Renamed.MessageType) && matches(msg.TriggerEvent, ref_Renamed.TriggerEvent) && matches(msg.ProcessingId, ref_Renamed.ProcessingId) && matches(msg.Version, ref_Renamed.Version)) { result = true; } return result; }
/// <param name="theRoutingData"> /// </param> /// <returns> the binding with an EXACT match on routing data if one exists /// </returns> private Binding findBinding(AppRoutingData theRoutingData) { Binding result = null; for (int i = 0; i < myBindings.Count && result == null; i++) { Binding binding = (Binding) myBindings[i]; if (theRoutingData.Equals(binding.routingData)) { result = binding; } } return result; }
/// <param name="theRoutingData"> /// </param> /// <returns> the application from the binding with a WILDCARD match, if one exists /// </returns> private NuGenReceivingApplication findDestination(AppRoutingData theRoutingData) { NuGenReceivingApplication result = null; for (int i = 0; i < myBindings.Count && result == null; i++) { Binding binding = (Binding) myBindings[i]; if (matches(theRoutingData, binding.routingData) && binding.active) { result = binding.application; } } return result; }
/// <seealso cref="Genetibase.NuGenHL7.protocol.ApplicationRouter.hasActiveBinding(Genetibase.NuGenHL7.protocol.ApplicationRouter.AppRoutingData)"> /// </seealso> public virtual bool hasActiveBinding(AppRoutingData theRoutingData) { bool result = false; NuGenReceivingApplication app = findDestination(theRoutingData); if (app != null) { result = true; } return result; }