Class UpdateItem

  • All Implemented Interfaces:
    Expression

    public final class UpdateItem
    extends AbstractExpression
    The new_value specified for an update operation must be compatible in type with the field to which it is assigned.
    BNF: update_item ::= [identification_variable.]{state_field | single_valued_association_field} = new_value

    Version:
    2.5
    See Also:
    UpdateClause
    Author:
    Pascal Filion
    Since:
    2.3
    • Constructor Detail

      • UpdateItem

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

      • getNewValue

        public Expression getNewValue()
        Returns the Expression representing the new value, which is the new value of the property.
        Returns:
        The expression for the new value
      • getStateFieldPathExpression

        public Expression getStateFieldPathExpression()
        Returns the Expression representing the state field path expression, which is the property that should get updated.
        Returns:
        The expression for the state field path expression
      • hasEqualSign

        public boolean hasEqualSign()
        Determines whether the equal sign was parsed or not.
        Returns:
        true if the equal sign was parsed; false otherwise
      • hasNewValue

        public boolean hasNewValue()
        Determines whether the new value section of the query was parsed.
        Returns:
        true the new value was parsed; false if nothing was parsed
      • hasSpaceAfterEqualSign

        public boolean hasSpaceAfterEqualSign()
        Determines whether a whitespace was parsed after the equal sign or not.
        Returns:
        true if there was a whitespace after the equal sign; false otherwise
      • hasSpaceAfterStateFieldPathExpression

        public boolean hasSpaceAfterStateFieldPathExpression()
        Determines whether a whitespace was parsed after the state field path expression not.
        Returns:
        true if there was a whitespace after the state field path expression; false otherwise
      • hasStateFieldPathExpression

        public boolean hasStateFieldPathExpression()
        Determines whether the state field was parsed.
        Returns:
        true the state field was parsed; false otherwise
      • isParsingComplete

        protected boolean isParsingComplete​(WordParser wordParser,
                                            java.lang.String word,
                                            Expression expression)
        Determines whether the parsing is complete based on what is left in the given text. The text is never empty.
        Overrides:
        isParsingComplete in class AbstractExpression
        Parameters:
        wordParser - The text to parse based on the current position of the cursor
        word - The word that was retrieved from the given text, which is the first word in the text
        expression - The Expression that has already been parsed
        Returns:
        true if the text no longer can't be parsed by the current expression; false if more can be parsed
      • parse

        protected void parse​(WordParser wordParser,
                             boolean tolerant)
        Parses the query by starting at the current position, which is part of the given WordParser.
        Specified by:
        parse in class AbstractExpression
        Parameters:
        wordParser - The text to parse based on the current position of the cursor
        tolerant - Determines whether the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries
      • toParsedText

        protected void toParsedText​(java.lang.StringBuilder writer,
                                    boolean actual)
        Generates a string representation of this Expression, including its children, if it has any.
        Specified by:
        toParsedText in class AbstractExpression
        Parameters:
        writer - The buffer used to append this Expression's string representation
        actual - Determines whether the string representation should represent what was parsed, i.e. include any "virtual" whitespace (such as ending whitespace) and the actual case of the JPQL identifiers