org.apache.jackrabbit.core.query
Class DerefQueryNode

java.lang.Object
  extended by org.apache.jackrabbit.core.query.QueryNode
      extended by org.apache.jackrabbit.core.query.NAryQueryNode
          extended by org.apache.jackrabbit.core.query.LocationStepQueryNode
              extended by org.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_PROP_FUNCTION, 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
Returns:
the type of this query node.

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
Parameters:
visitor - the visitor to call back.
data - arbitrary data for the visitor.
Returns:
the return value of the visitor.visit() call.

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.


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