Esempio n. 1
0
        public CachedAnalyzer(IStreamAnalyzer <T> analyzer)
        {
            Analyzer = analyzer;

            if (analyzer is IFilteredStreamAnalyzer <T> )
            {
                var f = ((IFilteredStreamAnalyzer <T>)analyzer);
                _filterFunc = item => f.CanAnalyze(item);
            }
            else
            {
                _filterFunc = x => true;
            }

            if (analyzer is IIndexStreamAnalyzer <T> )
            {
                var index = ((IIndexStreamAnalyzer <T>)analyzer).OnlyOnIndex();
                _indexerFunc = x => x.Contains(index);
            }
            else
            {
                _indexerFunc = x => true;
            }
        }
Esempio n. 2
0
 public void AddAnalyzer(IStreamAnalyzer <T> analyzer)
 {
     _analyzers.Add(new CachedAnalyzer <T>(analyzer));
 }