Class RegexpExpression

  • All Implemented Interfaces:
    Expression

    public final class RegexpExpression
    extends AbstractExpression
    The REGEXP condition is used to specify a search for a pattern. It is not part of JPA 2.0/2.1, only EclipseLink. It is supported by many databases (Oracle, MySQL, PostgreSQL), I think part of SQL 2008, replacing SIMILAR TO.

    The string_expression must have a string value. The pattern_value is a string literal or a string-valued input parameter that is a regular expression.

    BNF: regexp_expression ::= string_expression REGEXP pattern_value
    Since:
    2.4
    Version:
    2.5
    Author:
    James Sutherland
    • Constructor Detail

      • RegexpExpression

        public RegexpExpression​(AbstractExpression parent,
                                AbstractExpression stringExpression)
        Creates a new LikeExpression.
        Parameters:
        parent - The parent of this expression
        stringExpression - The first part of this expression, which is the string expression
    • Method Detail

      • getActualRegexpIdentifier

        public java.lang.String getActualRegexpIdentifier()
        Returns the actual REGEXP found in the string representation of the JPQL query, which has the actual case that was used.
        Returns:
        The REGEXP identifier that was actually parsed
      • getPatternValue

        public Expression getPatternValue()
        Returns the Expression that represents the pattern value.
        Returns:
        The expression that was parsed representing the pattern value
      • getStringExpression

        public Expression getStringExpression()
        Returns the Expression that represents the string expression.
        Returns:
        The expression that was parsed representing the string expression
      • hasPatternValue

        public boolean hasPatternValue()
        Determines whether the pattern value was parsed.
        Returns:
        true if the pattern value was parsed; false otherwise
      • hasSpaceAfterIdentifier

        public boolean hasSpaceAfterIdentifier()
        Determines whether a whitespace was parsed after REGEXP.
        Returns:
        true if there was a whitespace after REGEXP; false otherwise
      • hasSpaceAfterStringExpression

        public boolean hasSpaceAfterStringExpression()
        Determines whether a whitespace was parsed after the string expression.
        Returns:
        true if there was a whitespace after the string expression; false otherwise
      • hasStringExpression

        public boolean hasStringExpression()
        Determines whether the string expression was parsed.
        Returns:
        true if the string expression was parsed; false otherwise