/* * Licensed to Elasticsearch under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Elasticsearch licenses this file to you under * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.elasticsearch.search.internal; import org.apache.lucene.search.Collector; import org.apache.lucene.search.FieldDoc; import org.apache.lucene.search.Query; import org.apache.lucene.util.Counter; import org.elasticsearch.action.search.SearchTask; import org.elasticsearch.action.search.SearchType; import org.elasticsearch.common.unit.TimeValue; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.index.cache.bitset.BitsetFilterCache; import org.elasticsearch.index.fielddata.IndexFieldDataService; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.index.mapper.ObjectMapper; import org.elasticsearch.index.query.ParsedQuery; import org.elasticsearch.index.query.QueryShardContext; import org.elasticsearch.index.shard.IndexShard; import org.elasticsearch.index.similarity.SimilarityService; import org.elasticsearch.search.SearchExtBuilder; import org.elasticsearch.search.SearchShardTarget; import org.elasticsearch.search.aggregations.SearchContextAggregations; import org.elasticsearch.search.collapse.CollapseContext; import org.elasticsearch.search.dfs.DfsSearchResult; import org.elasticsearch.search.fetch.FetchPhase; import org.elasticsearch.search.fetch.FetchSearchResult; import org.elasticsearch.search.fetch.StoredFieldsContext; import org.elasticsearch.search.fetch.subphase.FetchSourceContext; import org.elasticsearch.search.fetch.subphase.InnerHitsContext; import org.elasticsearch.search.fetch.subphase.ScriptFieldsContext; import org.elasticsearch.search.fetch.subphase.highlight.SearchContextHighlight; import org.elasticsearch.search.lookup.SearchLookup; import org.elasticsearch.search.profile.Profilers; import org.elasticsearch.search.query.QuerySearchResult; import org.elasticsearch.search.rescore.RescoreSearchContext; import org.elasticsearch.search.sort.SortAndFormats; import org.elasticsearch.search.suggest.SuggestionSearchContext; import java.util.List; import java.util.Map; public abstract class FilteredSearchContext extends SearchContext { private final SearchContext in; public FilteredSearchContext(SearchContext in) { this.in = in; } @Override public boolean hasStoredFields() { return in.hasStoredFields(); } @Override public boolean hasStoredFieldsContext() { return in.hasStoredFieldsContext(); } @Override public boolean storedFieldsRequested() { return in.storedFieldsRequested(); } @Override public StoredFieldsContext storedFieldsContext() { return in.storedFieldsContext(); } @Override public SearchContext storedFieldsContext(StoredFieldsContext storedFieldsContext) { return in.storedFieldsContext(storedFieldsContext); } @Override protected void doClose() { in.doClose(); } @Override public void preProcess(boolean rewrite) { in.preProcess(rewrite); } @Override public Query buildFilteredQuery(Query query) { return in.buildFilteredQuery(query); } @Override public long id() { return in.id(); } @Override public String source() { return in.source(); } @Override public ShardSearchRequest request() { return in.request(); } @Override public SearchType searchType() { return in.searchType(); } @Override public SearchShardTarget shardTarget() { return in.shardTarget(); } @Override public int numberOfShards() { return in.numberOfShards(); } @Override public float queryBoost() { return in.queryBoost(); } @Override public long getOriginNanoTime() { return in.getOriginNanoTime(); } @Override public ScrollContext scrollContext() { return in.scrollContext(); } @Override public SearchContext scrollContext(ScrollContext scroll) { return in.scrollContext(scroll); } @Override public SearchContextAggregations aggregations() { return in.aggregations(); } @Override public SearchContext aggregations(SearchContextAggregations aggregations) { return in.aggregations(aggregations); } @Override public SearchContextHighlight highlight() { return in.highlight(); } @Override public void highlight(SearchContextHighlight highlight) { in.highlight(highlight); } @Override public InnerHitsContext innerHits() { return in.innerHits(); } @Override public SuggestionSearchContext suggest() { return in.suggest(); } @Override public void suggest(SuggestionSearchContext suggest) { in.suggest(suggest); } @Override public List<RescoreSearchContext> rescore() { return in.rescore(); } @Override public void addRescore(RescoreSearchContext rescore) { in.addRescore(rescore); } @Override public boolean hasScriptFields() { return in.hasScriptFields(); } @Override public ScriptFieldsContext scriptFields() { return in.scriptFields(); } @Override public boolean sourceRequested() { return in.sourceRequested(); } @Override public boolean hasFetchSourceContext() { return in.hasFetchSourceContext(); } @Override public FetchSourceContext fetchSourceContext() { return in.fetchSourceContext(); } @Override public SearchContext fetchSourceContext(FetchSourceContext fetchSourceContext) { return in.fetchSourceContext(fetchSourceContext); } @Override public ContextIndexSearcher searcher() { return in.searcher(); } @Override public IndexShard indexShard() { return in.indexShard(); } @Override public MapperService mapperService() { return in.mapperService(); } @Override public SimilarityService similarityService() { return in.similarityService(); } @Override public BigArrays bigArrays() { return in.bigArrays(); } @Override public BitsetFilterCache bitsetFilterCache() { return in.bitsetFilterCache(); } @Override public IndexFieldDataService fieldData() { return in.fieldData(); } @Override public TimeValue timeout() { return in.timeout(); } @Override public void timeout(TimeValue timeout) { in.timeout(timeout); } @Override public int terminateAfter() { return in.terminateAfter(); } @Override public void terminateAfter(int terminateAfter) { in.terminateAfter(terminateAfter); } @Override public boolean lowLevelCancellation() { return in.lowLevelCancellation(); } @Override public SearchContext minimumScore(float minimumScore) { return in.minimumScore(minimumScore); } @Override public Float minimumScore() { return in.minimumScore(); } @Override public SearchContext sort(SortAndFormats sort) { return in.sort(sort); } @Override public SortAndFormats sort() { return in.sort(); } @Override public SearchContext trackScores(boolean trackScores) { return in.trackScores(trackScores); } @Override public boolean trackScores() { return in.trackScores(); } @Override public SearchContext searchAfter(FieldDoc searchAfter) { return in.searchAfter(searchAfter); } @Override public FieldDoc searchAfter() { return in.searchAfter(); } @Override public SearchContext parsedPostFilter(ParsedQuery postFilter) { return in.parsedPostFilter(postFilter); } @Override public ParsedQuery parsedPostFilter() { return in.parsedPostFilter(); } @Override public Query aliasFilter() { return in.aliasFilter(); } @Override public SearchContext parsedQuery(ParsedQuery query) { return in.parsedQuery(query); } @Override public ParsedQuery parsedQuery() { return in.parsedQuery(); } @Override public Query query() { return in.query(); } @Override public int from() { return in.from(); } @Override public SearchContext from(int from) { return in.from(from); } @Override public int size() { return in.size(); } @Override public SearchContext size(int size) { return in.size(size); } @Override public boolean explain() { return in.explain(); } @Override public void explain(boolean explain) { in.explain(explain); } @Override public List<String> groupStats() { return in.groupStats(); } @Override public void groupStats(List<String> groupStats) { in.groupStats(groupStats); } @Override public boolean version() { return in.version(); } @Override public void version(boolean version) { in.version(version); } @Override public int[] docIdsToLoad() { return in.docIdsToLoad(); } @Override public int docIdsToLoadFrom() { return in.docIdsToLoadFrom(); } @Override public int docIdsToLoadSize() { return in.docIdsToLoadSize(); } @Override public SearchContext docIdsToLoad(int[] docIdsToLoad, int docsIdsToLoadFrom, int docsIdsToLoadSize) { return in.docIdsToLoad(docIdsToLoad, docsIdsToLoadFrom, docsIdsToLoadSize); } @Override public void accessed(long accessTime) { in.accessed(accessTime); } @Override public long lastAccessTime() { return in.lastAccessTime(); } @Override public long keepAlive() { return in.keepAlive(); } @Override public void keepAlive(long keepAlive) { in.keepAlive(keepAlive); } @Override public SearchLookup lookup() { return in.lookup(); } @Override public DfsSearchResult dfsResult() { return in.dfsResult(); } @Override public QuerySearchResult queryResult() { return in.queryResult(); } @Override public FetchSearchResult fetchResult() { return in.fetchResult(); } @Override public FetchPhase fetchPhase() { return in.fetchPhase(); } @Override public MappedFieldType smartNameFieldType(String name) { return in.smartNameFieldType(name); } @Override public ObjectMapper getObjectMapper(String name) { return in.getObjectMapper(name); } @Override public Counter timeEstimateCounter() { return in.timeEstimateCounter(); } @Override public void addSearchExt(SearchExtBuilder searchExtBuilder) { in.addSearchExt(searchExtBuilder); } @Override public SearchExtBuilder getSearchExt(String name) { return in.getSearchExt(name); } @Override public Profilers getProfilers() { return in.getProfilers(); } @Override public Map<Class<?>, Collector> queryCollectors() { return in.queryCollectors();} @Override public QueryShardContext getQueryShardContext() { return in.getQueryShardContext(); } @Override public void setTask(SearchTask task) { in.setTask(task); } @Override public SearchTask getTask() { return in.getTask(); } @Override public boolean isCancelled() { return in.isCancelled(); } @Override public SearchContext collapse(CollapseContext collapse) { return in.collapse(collapse); } @Override public CollapseContext collapse() { return in.collapse(); } }