org.apache.jackrabbit.core.query
Class DerefQueryNode

java.lang.Object
  extended byorg.apache.jackrabbit.core.query.QueryNode
      extended byorg.apache.jackrabbit.core.query.NAryQueryNode
          extended byorg.apache.jackrabbit.core.query.LocationStepQueryNode
              extended byorg.apache.jackrabbit.core.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.core.query.LocationStepQueryNode
EMPTY_NAME, LAST, NONE
 
Fields inherited from class org.apache.jackrabbit.core.query.NAryQueryNode
operands
 
Fields inherited from class org.apache.jackrabbit.core.query.QueryNode
TYPE_AND, TYPE_DEREF, TYPE_EXACT, TYPE_LOCATION, TYPE_NODETYPE, TYPE_NOT, TYPE_OR, TYPE_ORDER, TYPE_PATH, TYPE_RELATION, TYPE_ROOT, TYPE_TEXTSEARCH
 
Constructor Summary
DerefQueryNode(QueryNode parent, QName 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.
 QName getRefProperty()
          Returns the name of the reference property or null if none is set.
 int getType()
          Returns the type of this query node.
 void setRefProperty(QName propertyName)
          Sets a new name for the reference property.
 
Methods inherited from class org.apache.jackrabbit.core.query.LocationStepQueryNode
addPredicate, getIncludeDescendants, getIndex, getNameTest, getPredicates, setIncludeDescendants, setIndex, setNameTest
 
Methods inherited from class org.apache.jackrabbit.core.query.NAryQueryNode
acceptOperands, addOperand, getNumOperands, getOperands, removeOperand
 
Methods inherited from class org.apache.jackrabbit.core.query.QueryNode
dump, getParent
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DerefQueryNode

public DerefQueryNode(QueryNode parent,
                      QName 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(QName propertyName)
Sets a new name for the reference property.

Parameters:
propertyName - the name of the reference property.

getRefProperty

public QName 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

accept

public 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.

Overrides:
accept in class LocationStepQueryNode

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


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