public ElasticQueryParserConfiguration AddVisitorAfter <T>(IChainableQueryVisitor visitor)
        {
            QueryVisitor.AddVisitorAfter <T>(visitor);
            AggregationVisitor.AddVisitorAfter <T>(visitor);
            SortVisitor.AddVisitorAfter <T>(visitor);

            return(this);
        }
        public ElasticQueryParserConfiguration ReplaceVisitor <T>(IChainableQueryVisitor visitor, int?newPriority = null) where T : IChainableQueryVisitor
        {
            QueryVisitor.ReplaceVisitor <T>(visitor, newPriority);
            AggregationVisitor.ReplaceVisitor <T>(visitor, newPriority);
            SortVisitor.ReplaceVisitor <T>(visitor, newPriority);

            return(this);
        }
        public ElasticQueryParserConfiguration AddVisitor(IChainableQueryVisitor visitor, int priority = 0)
        {
            QueryVisitor.AddVisitor(visitor, priority);
            AggregationVisitor.AddVisitor(visitor, priority);
            SortVisitor.AddVisitor(visitor, priority);

            return(this);
        }
Esempio n. 4
0
        public void AddVisitorAfter <T>(IChainableQueryVisitor visitor)
        {
            int priority         = 0;
            var referenceVisitor = _visitors.FirstOrDefault(v => typeof(T) == v.Visitor.GetType());

            if (referenceVisitor != null)
            {
                priority = referenceVisitor.Priority + 1;
            }

            _visitors.Add(new QueryVisitorWithPriority {
                Visitor = visitor, Priority = priority
            });
        }
Esempio n. 5
0
        public void ReplaceVisitor <T>(IChainableQueryVisitor visitor, int?newPriority = null) where T : IChainableQueryVisitor
        {
            int priority         = 0;
            var referenceVisitor = _visitors.FirstOrDefault(v => typeof(T) == v.Visitor.GetType());

            if (referenceVisitor != null)
            {
                priority = referenceVisitor.Priority - 1;
            }

            _visitors.Add(new QueryVisitorWithPriority {
                Visitor = visitor, Priority = priority
            });
        }
        public void ReplaceVisitor <T>(IChainableQueryVisitor visitor, int?newPriority = null) where T : IChainableQueryVisitor
        {
            int priority = newPriority.GetValueOrDefault(0);

            var referenceVisitor = _visitors.FirstOrDefault(v => typeof(T) == v.Visitor.GetType());

            if (referenceVisitor != null)
            {
                if (!newPriority.HasValue)
                {
                    priority = referenceVisitor.Priority - 1;
                }

                _visitors.Remove(referenceVisitor);
            }

            _visitors.Add(new QueryVisitorWithPriority {
                Visitor = visitor, Priority = priority
            });
            _isDirty = true;
        }
        public ElasticQueryParserConfiguration AddAggregationVisitorBefore <T>(IChainableQueryVisitor visitor)
        {
            AggregationVisitor.AddVisitorBefore <T>(visitor);

            return(this);
        }