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.CodeSystemVersionQueryServiceRestrictions; import edu.mayo.cts2.framework.service.profile.BaseQueryService; import edu.mayo.cts2.framework.service.profile.codesystemversion.CodeSystemVersionQuery; import edu.mayo.cts2.framework.webapp.rest.resolver.FilterResolver; import edu.mayo.cts2.framework.webapp.rest.resolver.ReadContextResolver; public class CodeSystemVersionQueryBuilder extends AbstractResourceQueryBuilder<CodeSystemVersionQueryBuilder, CodeSystemVersionQuery> { private CodeSystemVersionQueryServiceRestrictions restrictions; public CodeSystemVersionQueryBuilder( BaseQueryService baseQueryService, FilterResolver filterResolver, ReadContextResolver readContextResolver) { super(baseQueryService, filterResolver, readContextResolver); } public CodeSystemVersionQueryBuilder addRestrictions(CodeSystemVersionQueryServiceRestrictions restrictions){ this.restrictions = restrictions; return this.getThis(); } @Override protected CodeSystemVersionQueryBuilder getThis() { return this; } @Override public CodeSystemVersionQuery build() { final DefaultResourceQuery query = new DefaultResourceQuery(); return new CodeSystemVersionQuery(){ @Override public Query getQuery() { return query.getQuery(); } @Override public Set<ResolvedFilter> getFilterComponent() { return query.getFilterComponent(); } @Override public ResolvedReadContext getReadContext() { return query.getReadContext(); } @Override public CodeSystemVersionQueryServiceRestrictions getRestrictions() { return restrictions; } }; } }