Package org.apache.cayenne.exp.parser
Class PatternMatchNode
java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.ConditionNode
org.apache.cayenne.exp.parser.PatternMatchNode
- All Implemented Interfaces:
Serializable,Node,XMLSerializable
- Direct Known Subclasses:
ASTLike,ASTLikeIgnoreCase,ASTNotLike,ASTNotLikeIgnoreCase
Superclass of pattern matching nodes. Assumes that subclass is a binary expression with
the second operand being a pattern.
- Since:
- 1.1
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected charprotected booleanprotected Patternprotected booleanFields inherited from class org.apache.cayenne.exp.parser.SimpleNode
children, id, parentFields inherited from class org.apache.cayenne.exp.Expression
ADD, ALL, AND, ANY, ASTERISK, BETWEEN, BITWISE_AND, BITWISE_LEFT_SHIFT, BITWISE_NOT, BITWISE_OR, BITWISE_RIGHT_SHIFT, BITWISE_XOR, CASE_WHEN, CUSTOM_OP, DB_PATH, DBID_PATH, DIVIDE, ELSE, ENCLOSING_OBJECT, EQUAL_TO, EXISTS, FALSE, FULL_OBJECT, FUNCTION_CALL, 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_EXISTS, NOT_IN, NOT_LIKE, NOT_LIKE_IGNORE_CASE, OBJ_PATH, OR, PRUNED_NODE, SCALAR, SUBQUERY, SUBTRACT, THEN, TRUE, type, WHEN -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendChildrenAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) Encodes child of this node with specified index to EJBQLcharThis method will return an escape character for the like clause.protected PatternbooleanvoidjjtAddChild(Node n, int i) This method tells the node to add its argument to the node's list of children.protected booleanmatchPattern(String string) voidsetEscapeChar(char value) This method allows the setting of the escape character.Methods inherited from class org.apache.cayenne.exp.parser.ConditionNode
evaluateNode, evaluateSubNode, exists, getRequiredChildrenCount, isValidParent, notExistsMethods inherited from class org.apache.cayenne.exp.parser.SimpleNode
appendAsEJBQL, appendAsEJBQL, appendAsEscapedString, appendAsString, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, expName, flattenTree, getEJBQLExpressionOperator, getExpressionOperator, getOperand, getOperandCount, getPathAliases, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExp, pruneNodeForPrunedChild, setOperand, unwrapChild, wrapChildMethods inherited from class org.apache.cayenne.exp.Expression
andExp, andExp, deepCopy, encodeAsXML, equals, filter, filterObjects, first, getType, hashCode, joinExp, joinExp, match, orExp, orExp, params, params, paramsArray, setType, shallowCopy, toEJBQL, toEJBQL, toString, transform, transformExpression, traverse, traverse
-
Field Details
-
pattern
-
patternCompiled
protected transient boolean patternCompiled -
ignoringCase
protected boolean ignoringCase -
escapeChar
protected char escapeChar
-
-
Method Details
-
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 character '?' is disallowed.
-
isIgnoringCase
public boolean isIgnoringCase()- Since:
- 4.2
-
matchPattern
-
getPattern
-
jjtAddChild
Description copied from interface:NodeThis method tells the node to add its argument to the node's list of children.- Specified by:
jjtAddChildin interfaceNode- Overrides:
jjtAddChildin classSimpleNode
-
appendChildrenAsEJBQL
protected void appendChildrenAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOException Description copied from class:SimpleNodeEncodes child of this node with specified index to EJBQL- Overrides:
appendChildrenAsEJBQLin classSimpleNode- Throws:
IOException
-