org.apache.jackrabbit.core.query
Class PathQueryNode

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

public class PathQueryNode
extends NAryQueryNode

Implements a query node that defines a path restriction.


Field Summary
 
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
protected PathQueryNode(QueryNode parent, List validJcrSystemNodeTypeNames)
          Creates a relative PathQueryNode with no location steps and the list of node types under /jcr:system.
 
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.
 void addPathStep(LocationStepQueryNode step)
          Adds a path step to this PathQueryNode.
 boolean equals(Object obj)
          Returns true if obj is the same type of QueryNode as this node and is equal to this node.
 LocationStepQueryNode[] getPathSteps()
          Returns an array of all currently set location step nodes.
 int getType()
          Returns the type of this node.
 List getValidJcrSystemNodeTypeNames()
          Returns a list of valid node types under /jcr:system.
 boolean isAbsolute()
          Returns true if this is an absolute path; false otherwise.
 boolean needsSystemTree()
          Returns true if this query node needs items under /jcr:system to be queried.
 void setAbsolute(boolean absolute)
          If absolute is true sets this PathQueryNode to an absolute path.
 
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

PathQueryNode

protected PathQueryNode(QueryNode parent,
                        List validJcrSystemNodeTypeNames)
Creates a relative PathQueryNode with no location steps and the list of node types under /jcr:system.

Parameters:
parent - the parent query node.
Method Detail

getValidJcrSystemNodeTypeNames

public List getValidJcrSystemNodeTypeNames()
Returns a list of valid node types under /jcr:system. List<Name>.

Returns:
a list of valid node types under /jcr:system.

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.

Specified by:
accept in class QueryNode
Parameters:
visitor - the visitor to call back.
data - arbitrary data for the visitor.
Returns:
the return value of the visitor.visit() call.

getType

public int getType()
Returns the type of this node.

Specified by:
getType in class QueryNode
Returns:
the type of this node.

addPathStep

public void addPathStep(LocationStepQueryNode step)
Adds a path step to this PathQueryNode.

Parameters:
step - the step to add.

getPathSteps

public LocationStepQueryNode[] getPathSteps()
Returns an array of all currently set location step nodes.

Returns:
an array of all currently set location step nodes.

setAbsolute

public void setAbsolute(boolean absolute)
If absolute is true sets this PathQueryNode to an absolute path. If absolute is false this path is considered relative.

Parameters:
absolute - sets the absolute property to this new value.

isAbsolute

public boolean isAbsolute()
Returns true if this is an absolute path; false otherwise.

Returns:
true if this is an absolute path; false otherwise.

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 NAryQueryNode
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
Returns:
true if this query node needs content under /jcr:system to be queried; false otherwise.


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