package edu.mayo.cts2.framework.webapp.rest.query; import java.util.Set; import edu.mayo.cts2.framework.model.command.ResolvedFilter; import edu.mayo.cts2.framework.model.command.ResolvedReadContext; import edu.mayo.cts2.framework.model.service.core.Query; import edu.mayo.cts2.framework.service.command.restriction.MapQueryServiceRestrictions; import edu.mayo.cts2.framework.service.profile.BaseQueryService; import edu.mayo.cts2.framework.service.profile.map.MapQuery; import edu.mayo.cts2.framework.webapp.rest.resolver.FilterResolver; import edu.mayo.cts2.framework.webapp.rest.resolver.ReadContextResolver; public class MapQueryBuilder extends AbstractResourceQueryBuilder<MapQueryBuilder, MapQuery> { private MapQueryServiceRestrictions restrictions; public MapQueryBuilder( BaseQueryService baseQueryService, FilterResolver filterResolver, ReadContextResolver readContextResolver) { super(baseQueryService, filterResolver, readContextResolver); } public MapQueryBuilder addRestrictions(MapQueryServiceRestrictions restrictions){ this.restrictions = restrictions; return this.getThis(); } @Override protected MapQueryBuilder getThis() { return this; } @Override public MapQuery build() { final DefaultResourceQuery query = new DefaultResourceQuery(); return new MapQuery(){ @Override public Query getQuery() { return query.getQuery(); } @Override public Set<ResolvedFilter> getFilterComponent() { return query.getFilterComponent(); } @Override public ResolvedReadContext getReadContext() { return query.getReadContext(); } @Override public MapQueryServiceRestrictions getRestrictions() { return restrictions; } }; } }