public void AddQuery(MessageFilter where, MessageQueryTable <string> select,
                             IDictionary <string, MessageQueryTable <string> > selectAdditional, bool isContextQuery)
        {
            SelectRuntime selectRuntime = new SelectRuntime {
                Select = select, SelectAdditional = selectAdditional, IsContextQuery = isContextQuery
            };

            this.whereRuntime.Add(where, selectRuntime);
        }
 protected override bool ExecuteWhere(MessageBuffer target, Message messageToReadHeaders, MessageFilterTable <SelectRuntime> whereRuntime,
                                      out SelectRuntime select)
 {
     return(whereRuntime.GetMatchingValue(target, messageToReadHeaders, out select));
 }
 protected override bool ExecuteWhere(Message target, Message messageToReadHeaders, MessageFilterTable <SelectRuntime> whereRuntime,
                                      out SelectRuntime select)
 {
     // messageToReadHeaders is not used in case of MessageCalculator
     return(whereRuntime.GetMatchingValue(target, out select));
 }
 protected abstract bool ExecuteWhere(T target, Message messageToReadHeaders, MessageFilterTable <SelectRuntime> whereRuntime,
                                      out SelectRuntime select);