protected BaseFilter(string token, IEnumerable <string> supportedOperatorTypes, bool resolver, QueryEngineImpl <TEngineType> queryEngine)
 {
     this.token                = token;
     supportedOperators        = supportedOperatorTypes ?? new string[] {};
     usesResolver              = resolver;
     overridesStringComparison = false;
     m_QueryEngine             = queryEngine;
 }
 public Filter(string token, IEnumerable <string> supportedOperatorType, Func <TData, QueryFilterOperator, TFilter, bool> resolver, QueryEngineImpl <TData> queryEngine)
     : base(token, supportedOperatorType, true, queryEngine)
 {
     m_FilterResolver = resolver;
 }
 public Filter(string token, IEnumerable <string> supportedOperatorType, Func <TData, string, TFilter, bool> resolver, QueryEngineImpl <TData> queryEngine)
     : base(token, supportedOperatorType, true, queryEngine)
 {
     m_FilterResolver = (data, op, filterValue) => resolver(data, op.token, filterValue);
 }
 public Filter(string token, IEnumerable <string> supportedOperatorType, Func <TData, TFilter> getDataCallback, StringComparison stringComparison, QueryEngineImpl <TData> queryEngine)
     : base(token, supportedOperatorType, false, stringComparison, queryEngine)
 {
     m_GetDataCallback = getDataCallback;
 }
 public Filter(string token, IEnumerable <string> supportedOperatorType, QueryEngineImpl <TData> queryEngine)
     : base(token, supportedOperatorType, false, queryEngine)
 {
     m_GetDataCallback = data => default;
 }
 protected BaseFilter(Regex token, IEnumerable <string> supportedOperatorTypes, bool resolver, StringComparison stringComparison, QueryEngineImpl <TEngineType> queryEngine)
     : this(string.Empty, supportedOperatorTypes, resolver, stringComparison, queryEngine)
 {
     regexToken = token;
     ValidateRegexToken();
     BuildFilterMatchers();
 }
 protected BaseFilter(string token, IEnumerable <string> supportedOperatorTypes, bool resolver, StringComparison stringComparison, QueryEngineImpl <TEngineType> queryEngine)
     : this(token, supportedOperatorTypes, resolver, queryEngine)
 {
     this.stringComparison     = stringComparison;
     overridesStringComparison = true;
 }