org.apache.jackrabbit.core.query.lucene
Class QueryResultImpl

java.lang.Object
  extended by org.apache.jackrabbit.core.query.lucene.QueryResultImpl
All Implemented Interfaces:
QueryResult

public class QueryResultImpl
extends Object
implements QueryResult

Implements the javax.jcr.query.QueryResult interface.


Field Summary
protected  Name[] orderProps
          The names of properties to use for ordering the result set.
protected  boolean[] orderSpecs
          The order specifier for each of the order properties.
protected  org.apache.lucene.search.Query query
          The lucene query to execute.
protected  AbstractQueryImpl queryImpl
          The query instance which created this query result.
protected  Name[] selectProps
          The select properties
protected  SessionImpl session
          The session executing the query
protected  org.apache.jackrabbit.core.query.lucene.SpellSuggestion spellSuggestion
          The spell suggestion or null if not available.
 
Constructor Summary
QueryResultImpl(SearchIndex index, ItemManager itemMgr, SessionImpl session, AccessManager accessMgr, AbstractQueryImpl queryImpl, org.apache.lucene.search.Query query, org.apache.jackrabbit.core.query.lucene.SpellSuggestion spellSuggestion, Name[] selectProps, Name[] orderProps, boolean[] orderSpecs, boolean documentOrder, long offset, long limit)
          Creates a new query result.
 
Method Summary
protected  MultiColumnQueryHits executeQuery()
          Executes the query for this result and returns hits.
 String[] getColumnNames()
          
 NodeIterator getNodes()
          
 RowIterator getRows()
          
 int getTotalSize()
          Returns the total number of hits.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

session

protected final SessionImpl session
The session executing the query


queryImpl

protected final AbstractQueryImpl queryImpl
The query instance which created this query result.


query

protected final org.apache.lucene.search.Query query
The lucene query to execute.


spellSuggestion

protected final org.apache.jackrabbit.core.query.lucene.SpellSuggestion spellSuggestion
The spell suggestion or null if not available.


selectProps

protected final Name[] selectProps
The select properties


orderProps

protected final Name[] orderProps
The names of properties to use for ordering the result set.


orderSpecs

protected final boolean[] orderSpecs
The order specifier for each of the order properties.

Constructor Detail

QueryResultImpl

public QueryResultImpl(SearchIndex index,
                       ItemManager itemMgr,
                       SessionImpl session,
                       AccessManager accessMgr,
                       AbstractQueryImpl queryImpl,
                       org.apache.lucene.search.Query query,
                       org.apache.jackrabbit.core.query.lucene.SpellSuggestion spellSuggestion,
                       Name[] selectProps,
                       Name[] orderProps,
                       boolean[] orderSpecs,
                       boolean documentOrder,
                       long offset,
                       long limit)
                throws RepositoryException
Creates a new query result.

Parameters:
index - the search index where the query is executed.
itemMgr - the item manager of the session executing the query.
session - the session executing the query.
accessMgr - the access manager of the session executiong the query.
queryImpl - the query instance which created this query result.
query - the lucene query to execute on the index.
spellSuggestion - the spell suggestion or null if none is available.
selectProps - the select properties of the query.
orderProps - the names of the order properties.
orderSpecs - the order specs, one for each order property name.
documentOrder - if true the result is returned in document order.
limit - the maximum result size
offset - the offset in the total result set
Throws:
RepositoryException
Method Detail

getColumnNames

public String[] getColumnNames()
                        throws RepositoryException

Specified by:
getColumnNames in interface QueryResult
Throws:
RepositoryException

getNodes

public NodeIterator getNodes()
                      throws RepositoryException

Specified by:
getNodes in interface QueryResult
Throws:
RepositoryException

getRows

public RowIterator getRows()
                    throws RepositoryException

Specified by:
getRows in interface QueryResult
Throws:
RepositoryException

executeQuery

protected MultiColumnQueryHits executeQuery()
                                     throws IOException
Executes the query for this result and returns hits. The caller must close the query hits when he is done using it.

Returns:
hits for this query result.
Throws:
IOException - if an error occurs while executing the query.

getTotalSize

public int getTotalSize()
Returns the total number of hits. This is the number of results you will get get if you don't set any limit or offset. Keep in mind that this number may get smaller if nodes are found in the result set which the current session has no permission to access. This method may return -1 if the total size is unknown.



Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.