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

java.lang.Object
  extended by org.apache.jackrabbit.spi.commons.query.QueryNode
      extended by org.apache.jackrabbit.spi.commons.query.PropertyFunctionQueryNode

public class PropertyFunctionQueryNode
extends QueryNode

PropertyFunctionQueryNode allows to place function calls on properties in a query. Supported function names are:


Field Summary
static String LOWER_CASE
          Requests that property values in a RelationQueryNode are converted to lower case before they are matched with the literal.
static String UPPER_CASE
          Requests that property values in a RelationQueryNode are converted to upper case before they are matched with the literal.
 
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 PropertyFunctionQueryNode(QueryNode parent, String functionName)
          Creates a property function query node.
 
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.
 String getFunctionName()
           
 int getType()
          Returns the type of this node.
 boolean needsSystemTree()
          Returns true if this query node needs items under /jcr:system to be queried.
 
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
 

Field Detail

UPPER_CASE

public static final String UPPER_CASE
Requests that property values in a RelationQueryNode are converted to upper case before they are matched with the literal.

See Also:
Constant Field Values

LOWER_CASE

public static final String LOWER_CASE
Requests that property values in a RelationQueryNode are converted to lower case before they are matched with the literal.

See Also:
Constant Field Values
Constructor Detail

PropertyFunctionQueryNode

protected PropertyFunctionQueryNode(QueryNode parent,
                                    String functionName)
                             throws IllegalArgumentException
Creates a property function query node. This query node describes a function which is applied to a property parameter of the parent query node.

Parameters:
parent - the query node where this function is applied to.
functionName - the name of the function which is applied to parent.
Throws:
IllegalArgumentException - if functionName is not a supported function.
Method Detail

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.

equals

public boolean equals(Object obj)
Returns true if obj is the same type of QueryNode as this node and is equal to this node.

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

getFunctionName

public String getFunctionName()
Returns:
the name of this function.

needsSystemTree

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

Specified by:
needsSystemTree in class 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.