/** * This file is hereby placed into the Public Domain. This means anyone is * free to do whatever they wish with this file. */ package mil.nga.giat.data.elasticsearch; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; public class ElasticRequest { private Map<String,Object> query; private Map<String,Map<String,Map<String,Object>>> aggregations; private Integer size; private Integer from; private Integer scroll; private List<Map<String,Object>> sorts; private List<String> sourceIncludes; private List<String> fields; public ElasticRequest() { this.sorts = new ArrayList<>(); this.fields = new ArrayList<>(); this.sourceIncludes = new ArrayList<>(); } public Map<String,Object> getQuery() { return query; } public void setQuery(Map<String,Object> query) { this.query = query; } public Map<String,Map<String,Map<String,Object>>> getAggregations() { return aggregations; } public void setAggregations(Map<String,Map<String,Map<String,Object>>> aggregations) { this.aggregations = aggregations; } public Integer getSize() { return size; } public void setSize(Integer size) { this.size = size; } public Integer getFrom() { return from; } public void setFrom(Integer from) { this.from = from; } public Integer getScroll() { return scroll; } public void setScroll(Integer scroll) { this.scroll = scroll; } public List<Map<String, Object>> getSorts() { return sorts; } public void addSort(String key, String order) { this.sorts.add(Collections.singletonMap(key, Collections.singletonMap("order", order))); } public List<String> getSourceIncludes() { return sourceIncludes; } public void addSourceInclude(String sourceInclude) { this.sourceIncludes.add(sourceInclude); } public List<String> getFields() { return fields; } public void addField(String field) { this.fields.add(field); } }