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

java.lang.Object
  extended by org.apache.jackrabbit.spi.commons.query.QueryNode
      extended by org.apache.jackrabbit.spi.commons.query.NAryQueryNode<LocationStepQueryNode>
          extended by org.apache.jackrabbit.spi.commons.query.PathQueryNode

public class PathQueryNode
extends NAryQueryNode<LocationStepQueryNode>

Implements a query node that defines a path restriction.


Field Summary
 
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 PathQueryNode(QueryNode parent, Collection<Name> validJcrSystemNodeTypeNames)
          Creates a relative PathQueryNode with no location steps and the collection 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.
 Collection<Name> getValidJcrSystemNodeTypeNames()
          Returns the collection 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.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

PathQueryNode

protected PathQueryNode(QueryNode parent,
                        Collection<Name> validJcrSystemNodeTypeNames)
Creates a relative PathQueryNode with no location steps and the collection of node types under /jcr:system.

Parameters:
parent - the parent query node.
validJcrSystemNodeTypeNames - valid node types under /jcr:system
Method Detail

getValidJcrSystemNodeTypeNames

public Collection<Name> getValidJcrSystemNodeTypeNames()
Returns the collection of valid node types under /jcr:system.

Returns:
valid node types under /jcr:system.

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.

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.
Throws:
RepositoryException

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