Class UpdateClause

  • All Implemented Interfaces:
    Expression

    public final class UpdateClause
    extends AbstractExpression
    This is the update clause of the update statement.

    An UPDATE statement provides bulk operations over sets of entities of a single entity class (together with its subclasses, if any). Only one entity abstract schema type may be specified in the UPDATE clause.

    BNF: update_clause ::= UPDATE abstract_schema_name [[AS] identification_variable] SET update_item {, update_item}*

    Since:
    2.3
    Version:
    2.5
    Author:
    Pascal Filion
    See Also:
    UpdateStatement, UpdateItem
    • Constructor Detail

      • UpdateClause

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

      • buildCollectionExpression

        public CollectionExpression buildCollectionExpression()
        Creates a new CollectionExpression that will wrap the single update item.
        Returns:
        The single update item represented by a temporary collection
      • getActualSetIdentifier

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

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

        public Expression getRangeVariableDeclaration()
        Returns the Expression representing the range variable declaration.
        Returns:
        The expression that was parsed representing the range variable declaration
      • getUpdateItems

        public Expression getUpdateItems()
        Returns the Expression representing the single update item or the collection of update items.
        Returns:
        The expression that was parsed representing the single or multiple update items
      • hasRangeVariableDeclaration

        public boolean hasRangeVariableDeclaration()
        Determines whether the range variable declaration was parsed.
        Returns:
        true if the range variable declaration was parsed; false otherwise
      • hasSet

        public boolean hasSet()
        Determines whether SET was parsed or not.
        Returns:
        true if SET was part of the query; false otherwise
      • hasSpaceAfterRangeVariableDeclaration

        public boolean hasSpaceAfterRangeVariableDeclaration()
        Determines whether a whitespace was found after the abstract schema name declaration.
        Returns:
        true if there was a whitespace after the abstract schema name declaration; false otherwise
      • hasSpaceAfterSet

        public boolean hasSpaceAfterSet()
        Determines whether a whitespace was found after SET.
        Returns:
        true if there was a whitespace after SET; false otherwise
      • hasSpaceAfterUpdate

        public boolean hasSpaceAfterUpdate()
        Determines whether a whitespace was found after the identifier UPDATE.
        Returns:
        true if there was a whitespace after the identifier UPDATE; false otherwise
      • hasUpdateItems

        public boolean hasUpdateItems()
        Determines whether the update items section of the query was parsed.
        Returns:
        true if something was parsed after SET even if it was a malformed expression; false if nothing was parsed