예제 #1
0
 public FilterSpecCompiledDesc(
     FilterSpecCompiled filterSpecCompiled,
     IList<StmtClassForgeableFactory> additionalForgeables)
 {
     FilterSpecCompiled = filterSpecCompiled;
     AdditionalForgeables = additionalForgeables;
 }
예제 #2
0
        /// <summary>
        ///     Compares only the type and filter portion and not the property evaluation portion.
        /// </summary>
        /// <param name="other">filter to compare</param>
        /// <returns>true if same</returns>
        public bool EqualsTypeAndFilter(FilterSpecCompiled other)
        {
            if (FilterForEventType != other.FilterForEventType) {
                return false;
            }

            if (Parameters.Length != other.Parameters.Length) {
                return false;
            }

            for (var i = 0; i < Parameters.Length; i++) {
                var lineThis = Parameters[i];
                var lineOther = other.Parameters[i];
                if (lineThis.Length != lineOther.Length) {
                    return false;
                }

                for (var j = 0; j < lineThis.Length; j++) {
                    if (!lineThis[j].Equals(lineOther[j])) {
                        return false;
                    }
                }
            }

            return true;
        }
예제 #3
0
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="filterSpec">specifies what events we are interested in.</param>
 /// <param name="viewSpecs">specifies what view to use to derive data</param>
 /// <param name="optionalStreamName">stream name, or null if none supplied</param>
 /// <param name="streamSpecOptions">additional options such as unidirectional stream in a join</param>
 public FilterStreamSpecCompiled(
     FilterSpecCompiled filterSpec,
     ViewSpec[] viewSpecs,
     string optionalStreamName,
     StreamSpecOptions streamSpecOptions)
     : base(optionalStreamName, viewSpecs, streamSpecOptions)
 {
     FilterSpecCompiled = filterSpec;
 }
예제 #4
0
 /// <summary>
 ///     Compares only the type and filter portion and not the property evaluation portion.
 /// </summary>
 /// <param name="other">filter to compare</param>
 /// <returns>true if same</returns>
 public bool EqualsTypeAndFilter(FilterSpecCompiled other)
 {
     return Equals(FilterForEventType, other.FilterForEventType) && Parameters.EqualsFilter(other.Parameters);
 }