org.apache.jackrabbit.core.query
Class QueryObjectModelImpl

java.lang.Object
  extended by org.apache.jackrabbit.core.query.AbstractQueryImpl
      extended by org.apache.jackrabbit.core.query.QueryImpl
          extended by org.apache.jackrabbit.core.query.QueryObjectModelImpl
All Implemented Interfaces:
QueryObjectModel, Query

public class QueryObjectModelImpl
extends QueryImpl
implements QueryObjectModel

QueryObjectModelImpl implements the query object model.


Field Summary
protected  QueryObjectModelTree qomTree
          The query object model tree.
 
Fields inherited from class org.apache.jackrabbit.core.query.QueryImpl
handler, language, limit, node, offset, query, sessionContext, statement
 
Fields inherited from interface javax.jcr.query.Query
JCR_JQOM, JCR_SQL2, SQL, XPATH
 
Constructor Summary
QueryObjectModelImpl()
           
 
Method Summary
 void bindValue(String varName, Value value)
          Throws an IllegalArgumentException as XPath and SQL1 queries have no bind variables.
 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()
          
 Column[] getColumns()
          Gets the columns for this query.
 Constraint getConstraint()
          Gets the constraint for this query.
 Ordering[] getOrderings()
          Gets the orderings for this query.
 Source getSource()
          Gets the node-tuple source for this query.
 void init(SessionContext sessionContext, QueryHandler handler, QueryObjectModelTree qomTree, String language, Node node)
          Initializes a query instance from a query object model.
 void init(SessionContext sessionContext, QueryHandler handler, String statement, String language, Node node)
          Initialises a query instance from a query string.
 
Methods inherited from class org.apache.jackrabbit.core.query.QueryImpl
checkInitialized, checkNotInitialized, getLanguage, getStatement, getStoredQueryPath, setInitialized, setLimit, setOffset, storeAsNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.jcr.query.Query
getLanguage, getStatement, getStoredQueryPath, setLimit, setOffset, storeAsNode
 

Field Detail

qomTree

protected QueryObjectModelTree qomTree
The query object model tree.

Constructor Detail

QueryObjectModelImpl

public QueryObjectModelImpl()
Method Detail

init

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

Overrides:
init in class QueryImpl
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:
UnsupportedOperationException - always.
InvalidQueryException - if the query statement is invalid according to the specified language.

init

public void init(SessionContext sessionContext,
                 QueryHandler handler,
                 QueryObjectModelTree qomTree,
                 String language,
                 Node node)
          throws InvalidQueryException,
                 RepositoryException
Initializes a query instance from a query object model.

Parameters:
sessionContext - component context of the current session
handler - the query handler of the search index.
qomTree - the query object model tree.
language - the original query syntax from where the JQOM was created.
node - a nt:query node where the query was read from or null if it is not a stored query.
Throws:
InvalidQueryException - if the qom tree cannot be serialized according to the given language.
RepositoryException - if another error occurs

execute

public QueryResult execute()
                    throws RepositoryException
Description copied from class: QueryImpl
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).

Specified by:
execute in interface Query
Overrides:
execute in class QueryImpl
Throws:
RepositoryException

getBindVariableNames

public String[] getBindVariableNames()
Description copied from class: QueryImpl

Specified by:
getBindVariableNames in interface Query
Overrides:
getBindVariableNames in class QueryImpl

bindValue

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

Specified by:
bindValue in interface Query
Overrides:
bindValue in class QueryImpl
Throws:
IllegalArgumentException - always thrown

getSource

public Source getSource()
Gets the node-tuple source for this query.

Specified by:
getSource in interface QueryObjectModel
Returns:
the node-tuple source; non-null

getConstraint

public Constraint getConstraint()
Gets the constraint for this query.

Specified by:
getConstraint in interface QueryObjectModel
Returns:
the constraint, or null if none

getOrderings

public Ordering[] getOrderings()
Gets the orderings for this query.

Specified by:
getOrderings in interface QueryObjectModel
Returns:
an array of zero or more orderings; non-null

getColumns

public Column[] getColumns()
Gets the columns for this query.

Specified by:
getColumns in interface QueryObjectModel
Returns:
an array of zero or more columns; non-null


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