Class 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:
  • Field Details

    • pattern

      protected transient Pattern 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

      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
    • appendChildrenAsEJBQL

      protected void appendChildrenAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOException
      Description copied from class: SimpleNode
      Encodes child of this node with specified index to EJBQL
      Overrides:
      appendChildrenAsEJBQL in class SimpleNode
      Throws:
      IOException