Class QueryEngine<TypeMetadata>

java.lang.Object
org.infinispan.query.impl.QueryEngine<TypeMetadata>
Type Parameters:
TypeMetadata - the metadata of the indexed entities, either a java.lang.Class or an org.infinispan.protostream.descriptors.Descriptor

public class QueryEngine<TypeMetadata> extends Object
Builds Query object implementations based on an Ickle query string, with optional indexing support.
Since:
7.2
Author:
anistor@redhat.com
  • Field Details

    • DEFAULT_ALIAS

      public static final String DEFAULT_ALIAS
      See Also:
    • cache

      protected final AdvancedCache<?,?> cache
    • matcher

      protected final Matcher matcher
    • matcherImplClass

      protected final Class<? extends Matcher> matcherImplClass
    • propertyHelper

      protected final org.infinispan.query.objectfilter.impl.syntax.parser.ObjectPropertyHelper<TypeMetadata> propertyHelper
    • queryCache

      protected final org.infinispan.query.core.impl.QueryCache queryCache
    • queryStatistics

      protected final LocalQueryStatistics queryStatistics
    • booleanFilterNormalizer

      protected static final org.infinispan.query.objectfilter.impl.syntax.BooleanFilterNormalizer booleanFilterNormalizer
    • isIndexed

      protected final boolean isIndexed
  • Constructor Details

    • QueryEngine

      public QueryEngine(AdvancedCache<?,?> cache, boolean isIndexed)
    • QueryEngine

      public QueryEngine(AdvancedCache<?,?> cache)
    • QueryEngine

      protected QueryEngine(AdvancedCache<?,?> cache, boolean isIndexed, Class<? extends Matcher> matcherImplClass)
  • Method Details

    • getSearchMapping

      protected SearchMapping getSearchMapping()
    • getMatcherClass

      public Class<? extends Matcher> getMatcherClass()
    • buildQuery

      public Query<?> buildQuery(org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults, boolean local)
    • buildQueryWithAggregations

      protected BaseQuery<?> buildQueryWithAggregations(String queryString, Map<String,Object> namedParameters, long startOffset, int maxResults, org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, boolean local)
    • buildQueryNoAggregations

      protected BaseQuery<?> buildQueryNoAggregations(String queryString, Map<String,Object> namedParameters, long startOffset, int maxResults, org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, boolean local)
    • makeProjectionProcessor

      protected QueryEngine.RowProcessor makeProjectionProcessor(Class<?>[] projectedTypes, Object[] projectedNullMarkers)
    • buildSearchQuery

      public SearchQueryBuilder buildSearchQuery(String queryString, Map<String,Object> namedParameters)
    • buildLuceneQuery

      public <E> IndexedQuery<E> buildLuceneQuery(org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults, boolean local)
    • transformParsingResult

      public SearchQueryBuilder transformParsingResult(org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, Map<String,Object> namedParameters)
    • parse

      public org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parse(String queryString)
    • getObjectFilter

      protected final ObjectFilter getObjectFilter(Matcher matcher, String queryString, Map<String,Object> namedParameters, List<org.infinispan.query.objectfilter.impl.aggregation.FieldAccumulator> accumulators)
    • createAndWireFilter

      public final org.infinispan.query.core.impl.eventfilter.IckleFilterAndConverter createAndWireFilter(String queryString, Map<String,Object> namedParameters)
    • createFilter

      protected org.infinispan.query.core.impl.eventfilter.IckleFilterAndConverter createFilter(String queryString, Map<String,Object> namedParameters)
    • getTargetedClass

      protected Class<?> getTargetedClass(org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<?> parsingResult)
    • getTargetedNamedType

      protected String getTargetedNamedType(org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<?> parsingResult)
    • makeCacheQuery

      protected IndexedQuery<?> makeCacheQuery(org.infinispan.query.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, SearchQueryBuilder searchQuery, Map<String,Object> namedParameters, boolean local)
    • getQueryEngineProvider

      public SerializableFunction<AdvancedCache<?,?>, QueryEngine<?>> getQueryEngineProvider()