public FilterSpecCompiledDesc( FilterSpecCompiled filterSpecCompiled, IList<StmtClassForgeableFactory> additionalForgeables) { FilterSpecCompiled = filterSpecCompiled; AdditionalForgeables = additionalForgeables; }
/// <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; }
/// <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; }
/// <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); }