private static void Accept(IQueryVisitor visitor, ISpanQuery query, VisitorScope scope = VisitorScope.Span) { if (query == null) { return; } visitor.Scope = scope; query.Accept(visitor); }
private void Accept(IQueryVisitor visitor, IQueryContainer query, VisitorScope scope = VisitorScope.Query) { if (query == null) { return; } visitor.Scope = scope; query.Accept(visitor); }
private void Accept(IQueryVisitor visitor, IFilterContainer filter, VisitorScope scope = VisitorScope.Filter) { if (filter == null) { return; } visitor.Scope = scope; filter.Accept(visitor); }
protected override Delegate Call <TObj>() { return(new ProcessObject <Stream, TObj>( (Stream stream, TObj value) => { Action writeEndOfObject = () => stream.WriteByte(0); VisitorScope <Stream> scope = value != null ? VisitStatus.Continue : VisitStatus.SkipChildren; return scope + writeEndOfObject; })); }
protected override Func <PropertyInfo, Delegate> Call <TObj, TValue>() { return(property => { IGetter <TObj, TValue> getter = Getter.Create <TObj, TValue>(property); return new ProcessField <Data, TObj, TValue>( (Data data, TObj obj, ref TValue valuea) => { TValue valueb = getter.Apply((TObj)data.X); VisitorScope <Data> result = VisitStatus.Continue; return result + Optional.From(new Data(valueb)); }); }); }
private void Accept(IQueryVisitor visitor, IEnumerable <IQueryContainer> queries, VisitorScope scope = VisitorScope.Query) { if (!queries.HasAny()) { return; } foreach (var q in queries) { this.Accept(visitor, q, scope); } }
private void Accept(IQueryVisitor visitor, IEnumerable <IFilterContainer> filters, VisitorScope scope = VisitorScope.Filter) { if (!filters.HasAny()) { return; } foreach (var f in filters) { this.Accept(visitor, f, scope); } }
private static void Accept(IQueryVisitor visitor, IEnumerable <IQueryContainer> queries, VisitorScope scope = VisitorScope.Query) { if (queries == null) { return; } foreach (var f in queries) { Accept(visitor, f, scope); } }
private void Accept(IAggregationVisitor visitor, IAggregationContainer aggregation, VisitorScope scope = VisitorScope.Aggregation) { if (aggregation == null) { return; } visitor.Scope = scope; aggregation.Accept(visitor); }