org.apache.cayenne.exp.parser
Class PatternMatchNode

java.lang.Object
  extended by org.apache.cayenne.exp.Expression
      extended by org.apache.cayenne.exp.parser.SimpleNode
          extended by org.apache.cayenne.exp.parser.ConditionNode
              extended by org.apache.cayenne.exp.parser.PatternMatchNode
All Implemented Interfaces:
Serializable, Node, XMLSerializable
Direct Known Subclasses:
ASTLike, ASTLikeIgnoreCase, ASTNotLike, ASTNotLikeIgnoreCase

public abstract class PatternMatchNode
extends ConditionNode

Superclass of pattern matching nodes. Assumes that subclass is a binary expression with the second operand being a pattern.

Since:
1.1
See Also:
Serialized Form

Field Summary
protected  char escapeChar
           
protected  boolean ignoringCase
           
protected  Pattern pattern
           
protected  boolean patternCompiled
           
 
Fields inherited from class org.apache.cayenne.exp.parser.SimpleNode
children, id, parent
 
Fields inherited from class org.apache.cayenne.exp.Expression
ADD, AND, BETWEEN, DB_PATH, DIVIDE, EQUAL_TO, FALSE, GREATER_THAN, GREATER_THAN_EQUAL_TO, IN, LESS_THAN, LESS_THAN_EQUAL_TO, LIKE, LIKE_IGNORE_CASE, LIST, MULTIPLY, NEGATIVE, NOT, NOT_BETWEEN, NOT_EQUAL_TO, NOT_IN, NOT_LIKE, NOT_LIKE_IGNORE_CASE, OBJ_PATH, OR, PRUNED_NODE, SUBTRACT, TRUE, type
 
Method Summary
 char getEscapeChar()
          This method will return an escape character for the like clause.
protected  Pattern getPattern()
           
 void jjtAddChild(Node n, int i)
          This method tells the node to add its argument to the node's list of children.
protected  boolean matchPattern(String string)
           
 void setEscapeChar(char value)
          This method allows the setting of the escape character.
 
Methods inherited from class org.apache.cayenne.exp.parser.ConditionNode
jjtSetParent
 
Methods inherited from class org.apache.cayenne.exp.parser.SimpleNode
connectChildren, encodeAsEJBQL, encodeAsEscapedString, encodeAsString, encodeChildrenAsEJBQL, encodeScalarAsString, evaluate, evaluateChild, evaluateNode, expName, flattenTree, getEJBQLExpressionOperator, getExpressionOperator, getOperand, getOperandCount, getPathAliases, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, notExp, pruneNodeForPrunedChild, setOperand, unwrapChild, wrapChild
 
Methods inherited from class org.apache.cayenne.exp.Expression
andExp, deepCopy, encodeAsXML, equals, expWithParameters, expWithParameters, filter, filterObjects, fromString, getType, joinExp, match, orExp, setType, shallowCopy, toEJBQL, toString, transform, transformExpression, traverse, traverse
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

pattern

protected Pattern pattern

patternCompiled

protected boolean patternCompiled

ignoringCase

protected boolean ignoringCase

escapeChar

protected char escapeChar
Method Detail

getEscapeChar

public char getEscapeChar()

This method will return an escape character for the like clause. The escape character will eventually end up in the query as ...(t0.foo LIKE ? {escape '|'}) where the pipe symbol is the escape character.

Note that having no escape character is represented as the character 0.


setEscapeChar

public void setEscapeChar(char value)

This method allows the setting of the escape character. The escape character can be used in a LIKE clause. The character 0 signifies no escape character. The escape characyer '?' is disallowed.


matchPattern

protected boolean matchPattern(String string)

getPattern

protected Pattern getPattern()

jjtAddChild

public void jjtAddChild(Node n,
                        int i)
Description copied from interface: Node
This method tells the node to add its argument to the node's list of children.

Specified by:
jjtAddChild in interface Node
Overrides:
jjtAddChild in class SimpleNode


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.