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 protectedDerefQueryNode(QueryNode parent, Name nameTest, boolean descendants)Creates a newDerefQueryNodewithout a name set for the reference property.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectaccept(QueryNodeVisitor visitor, Object data)Accepts aQueryNodeVisitorand calls the appropriatevisitmethod on the visitor depending on the concrete implementation of thisQueryNode.booleanequals(Object obj)Returnstrueifobjis the same type ofQueryNodeasthisnode and is equal tothisnode.NamegetRefProperty()Returns the name of the reference property ornullif none is set.intgetType()Returns the type of this query node.booleanneedsSystemTree()Returnstrueif this query node needs items under /jcr:system to be queried.voidsetRefProperty(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 newDerefQueryNodewithout a name set for the reference property.- Parameters:
parent- the parent query node.nameTest- the name test on the target node, ornullif no name test should be performed on the target node.descendants- iftruethis 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 ornullif none is set.- Returns:
- the name of the reference property or
nullif none is set.
-
getType
public int getType()
Returns the type of this query node.- Overrides:
getTypein classLocationStepQueryNode- Returns:
- the type of this query node.
-
accept
public Object accept(QueryNodeVisitor visitor, Object data) throws RepositoryException
Accepts aQueryNodeVisitorand calls the appropriatevisitmethod on the visitor depending on the concrete implementation of thisQueryNode.- Overrides:
acceptin 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)
Returnstrueifobjis the same type ofQueryNodeasthisnode and is equal tothisnode.- Overrides:
equalsin classLocationStepQueryNode- Parameters:
obj- the reference object with which to compare.- Returns:
trueifobjis equal tothis;falseotherwise.
-
needsSystemTree
public boolean needsSystemTree()
Returnstrueif this query node needs items under /jcr:system to be queried.- Overrides:
needsSystemTreein classNAryQueryNode<QueryNode>- Returns:
trueif this query node needs content under /jcr:system to be queried;falseotherwise.
-
-