org.apache.jackrabbit.spi.commons.query
Class DerefQueryNode

java.lang.Object
  extended by org.apache.jackrabbit.spi.commons.query.QueryNode
      extended by org.apache.jackrabbit.spi.commons.query.NAryQueryNode<QueryNode>
          extended by org.apache.jackrabbit.spi.commons.query.LocationStepQueryNode
              extended by 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
protected DerefQueryNode(QueryNode parent, Name nameTest, boolean descendants)
          Creates a new DerefQueryNode without a name set for the reference property.
 
Method Summary
 Object accept(QueryNodeVisitor visitor, Object data)
          Accepts a QueryNodeVisitor and calls the apropriate visit method on the visitor depending on the concrete implementation of this QueryNode.
 boolean equals(Object obj)
          Returns true if obj is the same type of QueryNode as this node and is equal to this node.
 Name getRefProperty()
          Returns the name of the reference property or null if none is set.
 int getType()
          Returns the type of this query node.
 boolean needsSystemTree()
          Returns true 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
 
Methods inherited from class org.apache.jackrabbit.spi.commons.query.QueryNode
dump, getParent
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DerefQueryNode

protected DerefQueryNode(QueryNode parent,
                         Name nameTest,
                         boolean descendants)
Creates a new DerefQueryNode without a name set for the reference property.

Parameters:
parent - the parent query node.
nameTest - the name test on the target node, or null if no name test should be performed on the target node.
descendants - if true 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 or null 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 class LocationStepQueryNode
Returns:
the type of this query node.

accept

public Object accept(QueryNodeVisitor visitor,
                     Object data)
              throws RepositoryException
Accepts a QueryNodeVisitor and calls the apropriate visit method on the visitor depending on the concrete implementation of this QueryNode.

Overrides:
accept in class LocationStepQueryNode
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)
Description copied from class: QueryNode
Returns true if obj is the same type of QueryNode as this node and is equal to this node.

Overrides:
equals in class LocationStepQueryNode
Parameters:
obj - the reference object with which to compare.
Returns:
true if obj is equal to this; false otherwise.

needsSystemTree

public boolean needsSystemTree()
Returns true if this query node needs items under /jcr:system to be queried.

Overrides:
needsSystemTree in class NAryQueryNode<QueryNode>
Returns:
true if this query node needs content under /jcr:system to be queried; false otherwise.


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