Package org.infinispan.query.impl
Class IndexedQueryImpl<E>
- java.lang.Object
-
- org.infinispan.query.impl.IndexedQueryImpl<E>
-
- All Implemented Interfaces:
IndexedQuery<E>
- Direct Known Subclasses:
DistributedIndexedQueryImpl
public class IndexedQueryImpl<E> extends Object implements IndexedQuery<E>
Lucene based indexed query implementation.- Author:
- Navin Surtani, Sanne Grinovero <sanne@hibernate.org> (C) 2011 Red Hat Inc., Marko Luksa
-
-
Field Summary
Fields Modifier and Type Field Description protected org.infinispan.AdvancedCache<?,?>cacheprotected org.infinispan.query.core.impl.PartitionHandlingSupportpartitionHandlingSupportprotected QueryDefinitionqueryDefinitionprotected org.infinispan.query.core.stats.impl.LocalQueryStatisticsqueryStatistics
-
Constructor Summary
Constructors Constructor Description IndexedQueryImpl(String queryString, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult.StatementType statementType, SearchQueryBuilder searchQuery, org.infinispan.AdvancedCache<?,?> cache, org.infinispan.query.core.stats.impl.LocalQueryStatistics queryStatistics, int defaultMaxResults)Create a IndexedQueryImpl based on a SearchQuery.IndexedQueryImpl(QueryDefinition queryDefinition, org.infinispan.AdvancedCache<?,?> cache, org.infinispan.query.core.stats.impl.LocalQueryStatistics queryStatistics)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <K> org.infinispan.commons.util.CloseableIterator<Map.Entry<K,E>>entryIterator()Returns the matching entries (both key and value).org.infinispan.query.dsl.QueryResult<?>execute()Executes an Ickle statement returning results (query aka.intexecuteStatement()Executes an Ickle statement not returning any results (ie.IndexedQuery<E>firstResult(int firstResult)Sets the result of the given integer value to the first result.intgetResultSize()org.infinispan.commons.util.CloseableIterator<E>iterator()IndexedQuery<E>maxResults(int maxResults)Sets the maximum number of results to return from the query.IndexedQuery<E>timeout(long timeout, TimeUnit timeUnit)Set the timeout for this query.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.infinispan.query.impl.IndexedQuery
list
-
-
-
-
Field Detail
-
cache
protected final org.infinispan.AdvancedCache<?,?> cache
-
partitionHandlingSupport
protected final org.infinispan.query.core.impl.PartitionHandlingSupport partitionHandlingSupport
-
queryDefinition
protected final QueryDefinition queryDefinition
-
queryStatistics
protected final org.infinispan.query.core.stats.impl.LocalQueryStatistics queryStatistics
-
-
Constructor Detail
-
IndexedQueryImpl
public IndexedQueryImpl(QueryDefinition queryDefinition, org.infinispan.AdvancedCache<?,?> cache, org.infinispan.query.core.stats.impl.LocalQueryStatistics queryStatistics)
-
IndexedQueryImpl
public IndexedQueryImpl(String queryString, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult.StatementType statementType, SearchQueryBuilder searchQuery, org.infinispan.AdvancedCache<?,?> cache, org.infinispan.query.core.stats.impl.LocalQueryStatistics queryStatistics, int defaultMaxResults)
Create a IndexedQueryImpl based on a SearchQuery.
-
-
Method Detail
-
getResultSize
public int getResultSize()
- Specified by:
getResultSizein interfaceIndexedQuery<E>- Returns:
- The result size of the query.
-
firstResult
public IndexedQuery<E> firstResult(int firstResult)
Sets the result of the given integer value to the first result.- Specified by:
firstResultin interfaceIndexedQuery<E>- Parameters:
firstResult- index to be set.- Throws:
IllegalArgumentException- if the index given is less than zero.
-
maxResults
public IndexedQuery<E> maxResults(int maxResults)
Description copied from interface:IndexedQuerySets the maximum number of results to return from the query. Used for pagination.- Specified by:
maxResultsin interfaceIndexedQuery<E>- Parameters:
maxResults- the maximum number of results to return.
-
iterator
public org.infinispan.commons.util.CloseableIterator<E> iterator() throws org.hibernate.search.util.common.SearchException
- Specified by:
iteratorin interfaceIndexedQuery<E>- Throws:
org.hibernate.search.util.common.SearchException
-
entryIterator
public <K> org.infinispan.commons.util.CloseableIterator<Map.Entry<K,E>> entryIterator()
Description copied from interface:IndexedQueryReturns the matching entries (both key and value).NOTE: The query must not contain any projections or an exception will be thrown.
- Specified by:
entryIteratorin interfaceIndexedQuery<E>
-
execute
public org.infinispan.query.dsl.QueryResult<?> execute()
Description copied from interface:IndexedQueryExecutes an Ickle statement returning results (query aka. SELECT). If the statement happens to be a DELETE it redirects it toIndexedQuery.executeStatement().NOTE: Paging params (firstResult/maxResults) are honoured for SELECT and dissalowed for DELETE.
- Specified by:
executein interfaceIndexedQuery<E>
-
executeStatement
public int executeStatement()
Description copied from interface:IndexedQueryExecutes an Ickle statement not returning any results (ie. DELETE).NOTE: Paging params (firstResult/maxResults) are NOT allowed.
- Specified by:
executeStatementin interfaceIndexedQuery<E>- Returns:
- the number of affected entries
-
timeout
public IndexedQuery<E> timeout(long timeout, TimeUnit timeUnit)
Description copied from interface:IndexedQuerySet the timeout for this query. If the query hasn't finished processing before the timeout, an exception will be thrown.- Specified by:
timeoutin interfaceIndexedQuery<E>- Parameters:
timeout- the timeout durationtimeUnit- the time unit of the timeout parameter
-
-