package org.infinispan.query.dsl.embedded.impl; import org.infinispan.query.dsl.Query; import org.infinispan.query.dsl.impl.BaseQueryBuilder; import org.infinispan.query.dsl.impl.QueryStringCreator; import org.infinispan.query.logging.Log; import org.infinispan.util.logging.LogFactory; /** * @author anistor@redhat.com * @since 7.0 */ final class EmbeddedQueryBuilder extends BaseQueryBuilder { private static final Log log = LogFactory.getLog(EmbeddedQueryBuilder.class, Log.class); private static final boolean trace = log.isTraceEnabled(); private final QueryEngine<?> queryEngine; EmbeddedQueryBuilder(EmbeddedQueryFactory queryFactory, QueryEngine queryEngine, String rootType) { super(queryFactory, rootType); this.queryEngine = queryEngine; } @Override public Query build() { QueryStringCreator generator = new QueryStringCreator(); String queryString = accept(generator); if (trace) { log.tracef("Query string : %s", queryString); } return new DelegatingQuery<>(queryEngine, queryFactory, queryString, generator.getNamedParameters(), getProjectionPaths(), startOffset, maxResults); } }