@Override @JsonIgnore public Filter getFilter() { return getInnerQueryUnchecked().getFilter(); }
@Override @JsonIgnore public List<Interval> getIntervals() { return getInnerQueryUnchecked().getIntervals(); }
@Override @JsonIgnore public Granularity getGranularity() { return getInnerQueryUnchecked().getGranularity(); }
@Override @JsonIgnore public Set<Aggregation> getAggregations() { return getInnerQueryUnchecked().getAggregations(); }
@Override @JsonIgnore public Collection<Dimension> getDimensions() { return getInnerQueryUnchecked().getDimensions(); }
@Override @JsonIgnore public Collection<PostAggregation> getPostAggregations() { return Stream.concat(getInnerQueryUnchecked().getPostAggregations().stream(), postAggregations.stream()) .collect(Collectors.toCollection(LinkedHashSet<PostAggregation>::new)); }
@Override public LookbackQuery withFilter(Filter filter) { return withDataSource(new QueryDataSource(getInnerQueryUnchecked().withFilter(filter))); }
@Override public LookbackQuery withAggregations(Collection<Aggregation> aggregations) { return withDataSource(new QueryDataSource(getInnerQueryUnchecked().withAggregations(aggregations))); }
@Override public LookbackQuery withGranularity(Granularity granularity) { return withDataSource(new QueryDataSource(getInnerQueryUnchecked().withGranularity(granularity))); }
@Override public LookbackQuery withIntervals(Collection<Interval> intervals) { return new LookbackQuery( new QueryDataSource(getInnerQueryUnchecked().withIntervals(intervals)), granularity, filter, aggregations, postAggregations, intervals, context, true, lookbackOffsets, lookbackPrefixes, having, limitSpec ); }
/** * Update the postAggregations of the nested inner query. The PostAggregations of the LookbackQuery(outer query) * remain unchanged * * @param postAggregations A Collection of PostAggregations * * @return A LookbackQuery whose datasource is built using the provided postAggregations */ public LookbackQuery withInnerQueryPostAggregations(Collection<PostAggregation> postAggregations) { return new LookbackQuery(new QueryDataSource(getInnerQueryUnchecked().withPostAggregations(postAggregations)), granularity, filter, aggregations, getLookbackPostAggregations(), intervals, context, false, lookbackOffsets, lookbackPrefixes, having, limitSpec); }