Package org.apache.jackrabbit.core.query
Class QueryObjectModelImpl
- java.lang.Object
-
- org.apache.jackrabbit.core.query.AbstractQueryImpl
-
- org.apache.jackrabbit.core.query.QueryImpl
-
- org.apache.jackrabbit.core.query.QueryObjectModelImpl
-
- All Implemented Interfaces:
QueryObjectModel
,Query
public class QueryObjectModelImpl extends QueryImpl implements QueryObjectModel
QueryObjectModelImpl
implements the query object model.
-
-
Constructor Summary
Constructors Constructor Description QueryObjectModelImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bindValue(String varName, Value value)
Throws anIllegalArgumentException
as XPath and SQL1 queries have no bind variables.QueryResult
execute()
This method simply forwards theexecute
call to theExecutableQuery
object returned byQueryHandler.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, String statement, String language, Node node)
Initialises a query instance from a query string.void
init(SessionContext sessionContext, QueryHandler handler, QueryObjectModelTree qomTree, String language, Node node)
Initializes a query instance from a query object model.-
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.
-
-
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 classQueryImpl
- Parameters:
sessionContext
- component context of the current sessionhandler
- 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 ornull
if it is not a stored query.- Throws:
UnsupportedOperationException
- always.InvalidQueryException
- if the query statement is invalid according to the specifiedlanguage
.
-
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 sessionhandler
- 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 ornull
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 theexecute
call to theExecutableQuery
object returned byQueryHandler.createExecutableQuery(org.apache.jackrabbit.core.session.SessionContext, java.lang.String, java.lang.String)
.- Specified by:
execute
in interfaceQuery
- Overrides:
execute
in classQueryImpl
- Throws:
RepositoryException
-
getBindVariableNames
public String[] getBindVariableNames()
Description copied from class:QueryImpl
- Specified by:
getBindVariableNames
in interfaceQuery
- Overrides:
getBindVariableNames
in classQueryImpl
-
bindValue
public void bindValue(String varName, Value value) throws IllegalArgumentException
Description copied from class:QueryImpl
Throws anIllegalArgumentException
as XPath and SQL1 queries have no bind variables.- Specified by:
bindValue
in interfaceQuery
- Overrides:
bindValue
in classQueryImpl
- Throws:
IllegalArgumentException
- always thrown
-
getSource
public Source getSource()
Gets the node-tuple source for this query.- Specified by:
getSource
in interfaceQueryObjectModel
- Returns:
- the node-tuple source; non-null
-
getConstraint
public Constraint getConstraint()
Gets the constraint for this query.- Specified by:
getConstraint
in interfaceQueryObjectModel
- Returns:
- the constraint, or null if none
-
getOrderings
public Ordering[] getOrderings()
Gets the orderings for this query.- Specified by:
getOrderings
in interfaceQueryObjectModel
- Returns:
- an array of zero or more orderings; non-null
-
getColumns
public Column[] getColumns()
Gets the columns for this query.- Specified by:
getColumns
in interfaceQueryObjectModel
- Returns:
- an array of zero or more columns; non-null
-
-