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); }
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 }); }
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); }