public abstract class QueryObjectModelFactoryImpl extends Object implements QueryObjectModelFactory
QueryObjectModelFactoryImpl
implements the query object model
factory from JSR 283.JCR_JOIN_TYPE_INNER, JCR_JOIN_TYPE_LEFT_OUTER, JCR_JOIN_TYPE_RIGHT_OUTER, JCR_OPERATOR_EQUAL_TO, JCR_OPERATOR_GREATER_THAN, JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO, JCR_OPERATOR_LESS_THAN, JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO, JCR_OPERATOR_LIKE, JCR_OPERATOR_NOT_EQUAL_TO, JCR_ORDER_ASCENDING, JCR_ORDER_DESCENDING
Constructor and Description |
---|
QueryObjectModelFactoryImpl(NamePathResolver resolver) |
Modifier and Type | Method and Description |
---|---|
And |
and(Constraint constraint1,
Constraint constraint2)
Performs a logical conjunction of two other constraints.
|
Ordering |
ascending(DynamicOperand operand)
Orders by the value of the specified operand, in ascending order.
|
BindVariableValue |
bindVariable(String bindVariableName)
Evaluates to the value of a bind variable.
|
ChildNode |
childNode(String path)
Tests whether a node in the default selector is a child of a node
reachable by a specified absolute path.
|
ChildNode |
childNode(String selectorName,
String path)
Tests whether a node in the specified selector is a child of a node
reachable by a specified absolute path.
|
ChildNodeJoinCondition |
childNodeJoinCondition(String childSelectorName,
String parentSelectorName)
Tests whether a first selector's node is a child of a second selector's
node.
|
Column |
column(String propertyName)
Identifies a property in the default selector to include in the tabular
view of query results.
|
Column |
column(String propertyName,
String columnName)
Identifies a property in the default selector to include in the tabular
view of query results.
|
Column |
column(String selectorName,
String propertyName,
String columnName)
Identifies a property in the specified selector to include in the tabular
view of query results.
|
Comparison |
comparison(DynamicOperand left,
String operatorName,
StaticOperand right)
Filters node-tuples based on the outcome of a binary operation.
|
protected abstract QueryObjectModel |
createQuery(QueryObjectModelTree qomTree)
Creates a query object model from the internal tree representation.
|
QueryObjectModel |
createQuery(Selector selector,
Constraint constraint,
Ordering[] orderings,
Column[] columns)
Creates a query with one selector.
|
QueryObjectModel |
createQuery(Source source,
Constraint constraint,
Ordering[] orderings,
Column[] columns)
Creates a query with one or more selectors.
|
DescendantNode |
descendantNode(String path)
Tests whether a node in the default selector is a descendant of a node
reachable by a specified absolute path.
|
DescendantNode |
descendantNode(String selectorName,
String path)
Tests whether a node in the specified selector is a descendant of a node
reachable by a specified absolute path.
|
DescendantNodeJoinCondition |
descendantNodeJoinCondition(String descendantSelectorName,
String ancestorSelectorName)
Tests whether a first selector's node is a descendant of a second
selector's node.
|
Ordering |
descending(DynamicOperand operand)
Orders by the value of the specified operand, in descending order.
|
EquiJoinCondition |
equiJoinCondition(String selector1Name,
String property1Name,
String selector2Name,
String property2Name)
Tests whether the value of a property in a first selector is equal to the
value of a property in a second selector.
|
FullTextSearch |
fullTextSearch(String propertyName,
StaticOperand fullTextSearchExpression)
Performs a full-text search against the default selector.
|
FullTextSearch |
fullTextSearch(String selectorName,
String propertyName,
StaticOperand fullTextSearchExpression)
Performs a full-text search against the specified selector.
|
FullTextSearchScore |
fullTextSearchScore()
Evaluates to a
DOUBLE value equal to the full-text search
score of a node in the default selector. |
FullTextSearchScore |
fullTextSearchScore(String selectorName)
Evaluates to a
DOUBLE value equal to the full-text search
score of a node in the specified selector. |
Join |
join(Source left,
Source right,
String joinTypeName,
JoinCondition joinCondition)
Performs a join between two node-tuple sources.
|
Length |
length(PropertyValue propertyValue)
Evaluates to the length (or lengths, if multi-valued) of a property.
|
Literal |
literal(Value value)
Evaluates to a literal value.
|
LowerCase |
lowerCase(DynamicOperand operand)
Evaluates to the lower-case string value (or values, if multi-valued) of
an operand.
|
NodeLocalName |
nodeLocalName()
Evaluates to a
NAME value equal to the local (unprefixed)
name of a node in the default selector. |
NodeLocalName |
nodeLocalName(String selectorName)
Evaluates to a
NAME value equal to the local (unprefixed)
name of a node in the specified selector. |
NodeName |
nodeName()
Evaluates to a
NAME value equal to the prefix-qualified name
of a node in the default selector. |
NodeName |
nodeName(String selectorName)
Evaluates to a
NAME value equal to the prefix-qualified name
of a node in the specified selector. |
Not |
not(Constraint constraint)
Performs a logical negation of another constraint.
|
Or |
or(Constraint constraint1,
Constraint constraint2)
Performs a logical disjunction of two other constraints.
|
PropertyExistence |
propertyExistence(String propertyName)
Tests the existence of a property in the default selector.
|
PropertyExistence |
propertyExistence(String selectorName,
String propertyName)
Tests the existence of a property in the specified selector.
|
PropertyValue |
propertyValue(String propertyName)
Evaluates to the value (or values, if multi-valued) of a property of the
default selector.
|
PropertyValue |
propertyValue(String selectorName,
String propertyName)
Evaluates to the value (or values, if multi-valued) of a property in the
specified selector.
|
SameNode |
sameNode(String path)
Tests whether a node in the default selector is reachable by a specified
absolute path.
|
SameNode |
sameNode(String selectorName,
String path)
Tests whether a node in the specified selector is reachable by a
specified absolute path.
|
SameNodeJoinCondition |
sameNodeJoinCondition(String selector1Name,
String selector2Name)
Tests whether a first selector's node is the same as a second selector's
node.
|
SameNodeJoinCondition |
sameNodeJoinCondition(String selector1Name,
String selector2Name,
String selector2Path)
Tests whether a first selector's node is the same as a node identified by
relative path from a second selector's node.
|
Selector |
selector(String nodeTypeName)
Selects a subset of the nodes in the repository based on node type.
|
Selector |
selector(String nodeTypeName,
String selectorName)
Selects a subset of the nodes in the repository based on node type.
|
UpperCase |
upperCase(DynamicOperand operand)
Evaluates to the upper-case string value (or values, if multi-valued) of
an operand.
|
public QueryObjectModelFactoryImpl(NamePathResolver resolver)
protected abstract QueryObjectModel createQuery(QueryObjectModelTree qomTree) throws InvalidQueryException, RepositoryException
qomTree
- the qom tree.InvalidQueryException
- the the query object model tree is
considered invalid by the query handler
implementation.RepositoryException
- if any other error occurs.public QueryObjectModel createQuery(Selector selector, Constraint constraint, Ordering[] orderings, Column[] columns) throws InvalidQueryException, RepositoryException
The specified selector will be the default selector of the query.
selector
- the selector; non-nullconstraint
- the constraint, or null if noneorderings
- zero or more orderings; null is equivalent to a
zero-length arraycolumns
- the columns; null is equivalent to a zero-length arrayInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic QueryObjectModel createQuery(Source source, Constraint constraint, Ordering[] orderings, Column[] columns) throws InvalidQueryException, RepositoryException
If source
is a selector, that selector is the default
selector of the query. Otherwise the query does not have a default
selector.
createQuery
in interface QueryObjectModelFactory
source
- the node-tuple source; non-nullconstraint
- the constraint, or null if noneorderings
- zero or more orderings; null is equivalent to a
zero-length arraycolumns
- the columns; null is equivalent to a zero-length arrayInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Selector selector(String nodeTypeName) throws InvalidQueryException, RepositoryException
The selector name is the node type name.
nodeTypeName
- the name of the required node type; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Selector selector(String nodeTypeName, String selectorName) throws InvalidQueryException, RepositoryException
selector
in interface QueryObjectModelFactory
nodeTypeName
- the name of the required node type; non-nullselectorName
- the selector name; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Join join(Source left, Source right, String joinTypeName, JoinCondition joinCondition) throws InvalidQueryException, RepositoryException
join
in interface QueryObjectModelFactory
left
- the left node-tuple source; non-nullright
- the right node-tuple source; non-nulljoinTypeName
- either joinCondition
- the join condition; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic EquiJoinCondition equiJoinCondition(String selector1Name, String property1Name, String selector2Name, String property2Name) throws InvalidQueryException, RepositoryException
equiJoinCondition
in interface QueryObjectModelFactory
selector1Name
- the name of the first selector; non-nullproperty1Name
- the property name in the first selector; non-nullselector2Name
- the name of the second selector; non-nullproperty2Name
- the property name in the second selector; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic SameNodeJoinCondition sameNodeJoinCondition(String selector1Name, String selector2Name) throws InvalidQueryException, RepositoryException
selector1Name
- the name of the first selector; non-nullselector2Name
- the name of the second selector; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic SameNodeJoinCondition sameNodeJoinCondition(String selector1Name, String selector2Name, String selector2Path) throws InvalidQueryException, RepositoryException
sameNodeJoinCondition
in interface QueryObjectModelFactory
selector1Name
- the name of the first selector; non-nullselector2Name
- the name of the second selector; non-nullselector2Path
- the path relative to the second selector; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic ChildNodeJoinCondition childNodeJoinCondition(String childSelectorName, String parentSelectorName) throws InvalidQueryException, RepositoryException
childNodeJoinCondition
in interface QueryObjectModelFactory
childSelectorName
- the name of the child selector; non-nullparentSelectorName
- the name of the parent selector; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic DescendantNodeJoinCondition descendantNodeJoinCondition(String descendantSelectorName, String ancestorSelectorName) throws InvalidQueryException, RepositoryException
descendantNodeJoinCondition
in interface QueryObjectModelFactory
descendantSelectorName
- the name of the descendant selector;
non-nullancestorSelectorName
- the name of the ancestor selector;
non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic And and(Constraint constraint1, Constraint constraint2) throws InvalidQueryException, RepositoryException
and
in interface QueryObjectModelFactory
constraint1
- the first constraint; non-nullconstraint2
- the second constraint; non-nullAnd
constraint; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Or or(Constraint constraint1, Constraint constraint2) throws InvalidQueryException, RepositoryException
or
in interface QueryObjectModelFactory
constraint1
- the first constraint; non-nullconstraint2
- the second constraint; non-nullOr
constraint; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Not not(Constraint constraint) throws InvalidQueryException, RepositoryException
not
in interface QueryObjectModelFactory
constraint
- the constraint to be negated; non-nullNot
constraint; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Comparison comparison(DynamicOperand left, String operatorName, StaticOperand right) throws InvalidQueryException, RepositoryException
comparison
in interface QueryObjectModelFactory
left
- the first operand; non-nulloperatorName
- the operator; either QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO
,QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO
,QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN
,QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO
,QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN
,QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO
, orQueryObjectModelConstants.JCR_OPERATOR_LIKE
right
- the second operand; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic PropertyExistence propertyExistence(String propertyName) throws InvalidQueryException, RepositoryException
propertyName
- the property name; non-nullInvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic PropertyExistence propertyExistence(String selectorName, String propertyName) throws InvalidQueryException, RepositoryException
propertyExistence
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullpropertyName
- the property name; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic FullTextSearch fullTextSearch(String propertyName, StaticOperand fullTextSearchExpression) throws InvalidQueryException, RepositoryException
propertyName
- the property name, or null to search all
full-text indexed properties of the node
(or node subtree, in some implementations)fullTextSearchExpression
- the full-text search expression;
non-nullInvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic FullTextSearch fullTextSearch(String selectorName, String propertyName, StaticOperand fullTextSearchExpression) throws InvalidQueryException, RepositoryException
fullTextSearch
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullpropertyName
- the property name, or null to search all
full-text indexed properties of the node
(or node subtree, in some implementations)fullTextSearchExpression
- the full-text search expression;
non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic SameNode sameNode(String path) throws InvalidQueryException, RepositoryException
path
- an absolute path; non-nullInvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic SameNode sameNode(String selectorName, String path) throws InvalidQueryException, RepositoryException
sameNode
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullpath
- an absolute path; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic ChildNode childNode(String path) throws InvalidQueryException, RepositoryException
path
- an absolute path; non-nullInvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic ChildNode childNode(String selectorName, String path) throws InvalidQueryException, RepositoryException
childNode
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullpath
- an absolute path; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic DescendantNode descendantNode(String path) throws InvalidQueryException, RepositoryException
path
- an absolute path; non-nullInvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic DescendantNode descendantNode(String selectorName, String path) throws InvalidQueryException, RepositoryException
descendantNode
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullpath
- an absolute path; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic PropertyValue propertyValue(String propertyName) throws InvalidQueryException, RepositoryException
propertyName
- the property name; non-nullInvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic PropertyValue propertyValue(String selectorName, String propertyName) throws InvalidQueryException, RepositoryException
propertyValue
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullpropertyName
- the property name; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Length length(PropertyValue propertyValue) throws InvalidQueryException, RepositoryException
length
in interface QueryObjectModelFactory
propertyValue
- the property value for which to compute the length;
non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic NodeName nodeName() throws InvalidQueryException, RepositoryException
NAME
value equal to the prefix-qualified name
of a node in the default selector.InvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic NodeName nodeName(String selectorName) throws InvalidQueryException, RepositoryException
NAME
value equal to the prefix-qualified name
of a node in the specified selector.nodeName
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic NodeLocalName nodeLocalName() throws InvalidQueryException, RepositoryException
NAME
value equal to the local (unprefixed)
name of a node in the default selector.InvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic NodeLocalName nodeLocalName(String selectorName) throws InvalidQueryException, RepositoryException
NAME
value equal to the local (unprefixed)
name of a node in the specified selector.nodeLocalName
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic FullTextSearchScore fullTextSearchScore() throws InvalidQueryException, RepositoryException
DOUBLE
value equal to the full-text search
score of a node in the default selector.InvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic FullTextSearchScore fullTextSearchScore(String selectorName) throws InvalidQueryException, RepositoryException
DOUBLE
value equal to the full-text search
score of a node in the specified selector.fullTextSearchScore
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic LowerCase lowerCase(DynamicOperand operand) throws InvalidQueryException, RepositoryException
lowerCase
in interface QueryObjectModelFactory
operand
- the operand whose value is converted to a lower-case
string; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic UpperCase upperCase(DynamicOperand operand) throws InvalidQueryException, RepositoryException
upperCase
in interface QueryObjectModelFactory
operand
- the operand whose value is converted to a upper-case
string; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic BindVariableValue bindVariable(String bindVariableName) throws InvalidQueryException, RepositoryException
bindVariable
in interface QueryObjectModelFactory
bindVariableName
- the bind variable name; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Literal literal(Value value) throws InvalidQueryException, RepositoryException
literal
in interface QueryObjectModelFactory
value
- a JCR value; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Ordering ascending(DynamicOperand operand) throws InvalidQueryException, RepositoryException
ascending
in interface QueryObjectModelFactory
operand
- the operand by which to order; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Ordering descending(DynamicOperand operand) throws InvalidQueryException, RepositoryException
descending
in interface QueryObjectModelFactory
operand
- the operand by which to order; non-nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failspublic Column column(String propertyName) throws InvalidQueryException, RepositoryException
The column name is the property name.
propertyName
- the property name, or null to include a column for
each single-value non-residual property of the
selector's node typeInvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic Column column(String propertyName, String columnName) throws InvalidQueryException, RepositoryException
propertyName
- the property name, or null to include a column for
each single-value non-residual property of the
selector's node typecolumnName
- the column name; must be null if propertyName
is nullInvalidQueryException
- if the query has no default
selector or is otherwise invalidRepositoryException
- if the operation otherwise failspublic Column column(String selectorName, String propertyName, String columnName) throws InvalidQueryException, RepositoryException
column
in interface QueryObjectModelFactory
selectorName
- the selector name; non-nullpropertyName
- the property name, or null to include a column for
each single-value non-residual property of the
selector's node typecolumnName
- the column name; if null, defaults to
propertyName
; must be null if
propertyName
is nullInvalidQueryException
- if the query is invalidRepositoryException
- if the operation otherwise failsCopyright © 2004–2022 The Apache Software Foundation. All rights reserved.