Class DerefQueryNode
- java.lang.Object
-
- org.apache.jackrabbit.spi.commons.query.QueryNode
-
- org.apache.jackrabbit.spi.commons.query.NAryQueryNode<QueryNode>
-
- org.apache.jackrabbit.spi.commons.query.LocationStepQueryNode
-
- org.apache.jackrabbit.spi.commons.query.DerefQueryNode
-
public class DerefQueryNode extends LocationStepQueryNode
Represents query node that dereferences a reference property into a node and does an optional name test on the target node.
-
-
Field Summary
-
Fields inherited from class org.apache.jackrabbit.spi.commons.query.LocationStepQueryNode
EMPTY_NAME, LAST, NONE
-
Fields inherited from class org.apache.jackrabbit.spi.commons.query.NAryQueryNode
operands
-
Fields inherited from class org.apache.jackrabbit.spi.commons.query.QueryNode
TYPE_AND, TYPE_DEREF, TYPE_EXACT, TYPE_LOCATION, TYPE_NODETYPE, TYPE_NOT, TYPE_OR, TYPE_ORDER, TYPE_PATH, TYPE_PROP_FUNCTION, TYPE_RELATION, TYPE_ROOT, TYPE_TEXTSEARCH
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DerefQueryNode(QueryNode parent, Name nameTest, boolean descendants)
Creates a newDerefQueryNode
without a name set for the reference property.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
accept(QueryNodeVisitor visitor, Object data)
Accepts aQueryNodeVisitor
and calls the appropriatevisit
method on the visitor depending on the concrete implementation of thisQueryNode
.boolean
equals(Object obj)
Returnstrue
ifobj
is the same type ofQueryNode
asthis
node and is equal tothis
node.Name
getRefProperty()
Returns the name of the reference property ornull
if none is set.int
getType()
Returns the type of this query node.boolean
needsSystemTree()
Returnstrue
if this query node needs items under /jcr:system to be queried.void
setRefProperty(Name propertyName)
Sets a new name for the reference property.-
Methods inherited from class org.apache.jackrabbit.spi.commons.query.LocationStepQueryNode
addPredicate, getIncludeDescendants, getIndex, getNameTest, getPredicates, setIncludeDescendants, setIndex, setNameTest
-
Methods inherited from class org.apache.jackrabbit.spi.commons.query.NAryQueryNode
acceptOperands, addOperand, getNumOperands, getOperands, removeOperand
-
-
-
-
Constructor Detail
-
DerefQueryNode
protected DerefQueryNode(QueryNode parent, Name nameTest, boolean descendants)
Creates a newDerefQueryNode
without a name set for the reference property.- Parameters:
parent
- the parent query node.nameTest
- the name test on the target node, ornull
if no name test should be performed on the target node.descendants
- iftrue
this location step uses the descendant-or-self axis; otherwise the child axis.
-
-
Method Detail
-
setRefProperty
public void setRefProperty(Name propertyName)
Sets a new name for the reference property.- Parameters:
propertyName
- the name of the reference property.
-
getRefProperty
public Name getRefProperty()
Returns the name of the reference property ornull
if none is set.- Returns:
- the name of the reference property or
null
if none is set.
-
getType
public int getType()
Returns the type of this query node.- Overrides:
getType
in classLocationStepQueryNode
- Returns:
- the type of this query node.
-
accept
public Object accept(QueryNodeVisitor visitor, Object data) throws RepositoryException
Accepts aQueryNodeVisitor
and calls the appropriatevisit
method on the visitor depending on the concrete implementation of thisQueryNode
.- Overrides:
accept
in classLocationStepQueryNode
- Parameters:
visitor
- the visitor to call back.data
- arbitrary data for the visitor.- Returns:
- the return value of the
visitor.visit()
call. - Throws:
RepositoryException
-
equals
public boolean equals(Object obj)
Returnstrue
ifobj
is the same type ofQueryNode
asthis
node and is equal tothis
node.- Overrides:
equals
in classLocationStepQueryNode
- Parameters:
obj
- the reference object with which to compare.- Returns:
true
ifobj
is equal tothis
;false
otherwise.
-
needsSystemTree
public boolean needsSystemTree()
Returnstrue
if this query node needs items under /jcr:system to be queried.- Overrides:
needsSystemTree
in classNAryQueryNode<QueryNode>
- Returns:
true
if this query node needs content under /jcr:system to be queried;false
otherwise.
-
-