Class WhenClause

  • All Implemented Interfaces:
    Expression

    public final class WhenClause
    extends AbstractExpression
    A WHEN predicate is used to calculate a condition and when it's true, its THEN will be executed.
    BNF: when_clause ::= WHEN conditional_expression THEN scalar_expression

    or
    BNF: simple_when_clause ::= WHEN scalar_expression THEN scalar_expression

    Since:
    2.3
    Version:
    2.5
    Author:
    Pascal Filion
    • Constructor Detail

      • WhenClause

        public WhenClause​(AbstractExpression parent)
        Creates a new WhenClause.
        Parameters:
        parent - The parent of this expression
    • Method Detail

      • buildWhenCollectionExpression

        public CollectionExpression buildWhenCollectionExpression()
        Creates a new CollectionExpression that will wrap the single WHEN expression.
        Returns:
        The single WHEN expression represented by a temporary collection
      • getActualThenIdentifier

        public String getActualThenIdentifier()
        Returns the actual THEN found in the string representation of the JPQL query, which has the actual case that was used.
        Returns:
        The THEN identifier that was actually parsed, or an empty string if it was not parsed
      • getActualWhenIdentifier

        public String getActualWhenIdentifier()
        Returns the actual WHEN found in the string representation of the JPQL query, which has the actual case that was used.
        Returns:
        The WHEN identifier that was actually parsed
      • getThenExpression

        public AbstractExpression getThenExpression()
        Returns the Expression representing the expression following the identifier THEN.
        Returns:
        The expression representing the expression executed if the predicate is true
      • getWhenExpression

        public AbstractExpression getWhenExpression()
        Returns the Expression representing the conditional predicate of the clause.
        Returns:
        The expression following the WHEN identifier
      • hasSpaceAfterThen

        public boolean hasSpaceAfterThen()
        Determines whether a whitespace was parsed after THEN.
        Returns:
        true if there was a whitespace after THEN; false otherwise
      • hasSpaceAfterWhen

        public boolean hasSpaceAfterWhen()
        Determines whether a whitespace was parsed after WHEN.
        Returns:
        true if there was a whitespace after WHEN; false otherwise
      • hasSpaceAfterWhenExpression

        public boolean hasSpaceAfterWhenExpression()
        Determines whether a whitespace was parsed after the conditional expression.
        Returns:
        true if there was a whitespace after the conditional expression; false otherwise
      • hasThen

        public boolean hasThen()
        Determines whether the identifier THEN was part of the query.
        Returns:
        true if the identifier THEN was parsed; false otherwise
      • hasThenExpression

        public boolean hasThenExpression()
        Determines whether the THEN expression of the query was parsed.
        Returns:
        true the THEN expression was parsed; false if nothing was parsed
      • hasWhenExpression

        public boolean hasWhenExpression()
        Determines whether the conditional expression of the query was parsed.
        Returns:
        true the conditional expression was parsed; false if nothing was parsed