org.apache.jackrabbit.core.query
Class QueryImpl

java.lang.Object
  extended by org.apache.jackrabbit.core.query.AbstractQueryImpl
      extended by org.apache.jackrabbit.core.query.QueryImpl
All Implemented Interfaces:
Query
Direct Known Subclasses:
QueryObjectModelImpl

public class QueryImpl
extends AbstractQueryImpl

Provides the default implementation for a JCR query.


Field Summary
protected  QueryHandler handler
          The query handler for this query.
protected  String language
          The syntax of the query statement
protected  long limit
          The maximum result size
protected  Node node
          The node where this query is persisted.
protected  long offset
          The offset in the total result set
protected  ExecutableQuery query
          The actual query implementation that can be executed
protected  SessionContext sessionContext
          Component context of the current session
protected  String statement
          The query statement
 
Fields inherited from interface javax.jcr.query.Query
JCR_JQOM, JCR_SQL2, SQL, XPATH
 
Constructor Summary
QueryImpl()
           
 
Method Summary
 void bindValue(String varName, Value value)
          Throws an IllegalArgumentException as XPath and SQL1 queries have no bind variables.
protected  void checkInitialized()
          Checks if this query is initialized and throws an IllegalStateException if it is not yet initialized.
protected  void checkNotInitialized()
          Checks if this query is not yet initialized and throws an IllegalStateException if it is already initialized.
 QueryResult execute()
          This method simply forwards the execute call to the ExecutableQuery object returned by QueryHandler.createExecutableQuery(org.apache.jackrabbit.core.session.SessionContext, java.lang.String, java.lang.String).
 String[] getBindVariableNames()
          
 String getLanguage()
          
 String getStatement()
          
 String getStoredQueryPath()
          
 void init(SessionContext sessionContext, QueryHandler handler, String statement, String language, Node node)
          Initialises a query instance from a query string.
protected  void setInitialized()
          Sets the initialized flag.
 void setLimit(long limit)
          Sets the maximum size of the result set.
 void setOffset(long offset)
          Sets the start offset of the result set.
 Node storeAsNode(String absPath)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sessionContext

protected SessionContext sessionContext
Component context of the current session


statement

protected String statement
The query statement


language

protected String language
The syntax of the query statement


query

protected ExecutableQuery query
The actual query implementation that can be executed


node

protected Node node
The node where this query is persisted. Only set when this is a persisted query.


handler

protected QueryHandler handler
The query handler for this query.


limit

protected long limit
The maximum result size


offset

protected long offset
The offset in the total result set

Constructor Detail

QueryImpl

public QueryImpl()
Method Detail

init

public void init(SessionContext sessionContext,
                 QueryHandler handler,
                 String statement,
                 String language,
                 Node node)
          throws InvalidQueryException
Description copied from class: AbstractQueryImpl
Initialises a query instance from a query string.

Specified by:
init in class AbstractQueryImpl
Parameters:
sessionContext - component context of the current session
handler - the query handler of the search index.
statement - the query statement.
language - the syntax of the query statement.
node - a nt:query node where the query was read from or null if it is not a stored query.
Throws:
InvalidQueryException - if the query statement is invalid according to the specified language.

execute

public QueryResult execute()
                    throws RepositoryException
This method simply forwards the execute call to the ExecutableQuery object returned by QueryHandler.createExecutableQuery(org.apache.jackrabbit.core.session.SessionContext, java.lang.String, java.lang.String).

Throws:
RepositoryException

getStatement

public String getStatement()


getLanguage

public String getLanguage()


getStoredQueryPath

public String getStoredQueryPath()
                          throws ItemNotFoundException,
                                 RepositoryException

Throws:
ItemNotFoundException
RepositoryException

storeAsNode

public Node storeAsNode(String absPath)
                 throws ItemExistsException,
                        PathNotFoundException,
                        VersionException,
                        ConstraintViolationException,
                        LockException,
                        UnsupportedRepositoryOperationException,
                        RepositoryException

Throws:
ItemExistsException
PathNotFoundException
VersionException
ConstraintViolationException
LockException
UnsupportedRepositoryOperationException
RepositoryException

getBindVariableNames

public String[] getBindVariableNames()


bindValue

public void bindValue(String varName,
                      Value value)
               throws IllegalArgumentException
Throws an IllegalArgumentException as XPath and SQL1 queries have no bind variables.

Throws:
IllegalArgumentException - always thrown

setLimit

public void setLimit(long limit)
Sets the maximum size of the result set.

Parameters:
limit - new maximum size of the result set

setOffset

public void setOffset(long offset)
Sets the start offset of the result set.

Parameters:
offset - new start offset of the result set

setInitialized

protected void setInitialized()
Sets the initialized flag.


checkNotInitialized

protected void checkNotInitialized()
Checks if this query is not yet initialized and throws an IllegalStateException if it is already initialized.


checkInitialized

protected void checkInitialized()
Checks if this query is initialized and throws an IllegalStateException if it is not yet initialized.



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