Class AbstractModifyStatementStateObject

    • Field Detail

      • WHERE_CLAUSE_PROPERTY

        public static final java.lang.String WHERE_CLAUSE_PROPERTY
        Notify the state object representing the WHERE clause has changed.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AbstractModifyStatementStateObject

        protected AbstractModifyStatementStateObject​(JPQLQueryStateObject parent)
        Creates a new AbstractModifyStatementStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
    • Method Detail

      • getAbstractSchemaName

        public java.lang.String getAbstractSchemaName()
        Returns the abstract schema name.
        Returns:
        The name of the abstract schema type for which the identification variable is ranging over
      • getDeclaration

        public DeclarationStateObject getDeclaration()
        Returns the declaration clause which defines the domain of the query by declaring identification variables.
        Specified by:
        getDeclaration in interface StateObject
        Overrides:
        getDeclaration in class AbstractStateObject
        Returns:
        The declaration clause of which this StateObject is a child; i.e. either the top-level declaration if this is part of the top query or the sub-level declaration if this is part of a subquery
      • getEntity

        public IEntity getEntity()
        Returns the actual IEntity that has the abstract schema name.
        Returns:
        The actual IEntity or null if no entity exists
      • getIdentificationVariable

        public java.lang.String getIdentificationVariable()
        Returns the identification variable name that is ranging over the abstract schema type.
        Returns:
        The identification variable name
      • getModifyClause

        public AbstractModifyClauseStateObject getModifyClause()
        Returns the state object representing the modify clause part of the modify statement.
        Returns:
        The state object representing the modify clause part of the modify statement, which is never null
      • getWhereClause

        public WhereClauseStateObject getWhereClause()
        Returns the state object representing the WHERE clause.
        Returns:
        Either the actual state object representing the WHERE clause or the null state object since null is never returned
      • hasWhereClause

        public boolean hasWhereClause()
        Returns the state object representing the WHERE clause.
        Returns:
        Either the actual state object representing the WHERE clause or null if it's not present
      • removeWhereClause

        public void removeWhereClause()
        Removes the WHERE clause.
      • setConditionalStateObject

        public void setConditionalStateObject​(StateObject conditionalStateObject)
        Sets the given StateObject to be the conditional expression of the WHERE clause.
        Parameters:
        conditionalStateObject - The new conditional expression
      • setDeclaration

        public void setDeclaration​(IEntity entity)
        Sets the abstract schema name to the given value.
        Parameters:
        entity - The IEntity that this clause will range over
      • setDeclaration

        public void setDeclaration​(IEntity entity,
                                   java.lang.String identificationVariable)
        Sets the abstract schema name to the given value and the identification variable that will range over it.
        Parameters:
        entity - The IEntity that this clause will range over
        identificationVariable - The new identification variable
      • setDeclaration

        public void setDeclaration​(java.lang.String abstractSchemaName)
        Sets the abstract schema name to the given value and removes the identification variable.
        Parameters:
        abstractSchemaName - The name of the abstract schema, which is the name of the entity
      • setDeclaration

        public void setDeclaration​(java.lang.String abstractSchemaName,
                                   java.lang.String identificationVariable)
        Sets the abstract schema name to the given value and the identification variable that will range over it.
        Parameters:
        abstractSchemaName - The name of the abstract schema, which is the name of the entity
        identificationVariable - The new identification variable
      • setEntity

        public void setEntity​(IEntity entity)
        Sets the actual IEntity and updates the abstract schema name.
        Parameters:
        entity - The IEntity that this clause will range over
      • setEntityName

        public void setEntityName​(java.lang.String entityName)
        Sets the name of the abstract schema, which is the name of the entity.
        Parameters:
        entityName - The name of the entity
      • setIdentificationVariable

        public void setIdentificationVariable​(java.lang.String identificationVariable)
        Sets the new identification variable that will range over the abstract schema name.
        Parameters:
        identificationVariable - The new identification variable
      • toggleWhereClause

        public void toggleWhereClause()
        Either adds or removes the state object representing the WHERE clause.
      • toTextInternal

        protected void toTextInternal​(java.lang.Appendable writer)
                               throws java.io.IOException
        Prints out a string representation of this StateObject, which should not be used to define a true string representation of a JPQL query but should be used for debugging purposes.
        Specified by:
        toTextInternal in class AbstractStateObject
        Parameters:
        writer - The writer used to print out the string representation
        Throws:
        java.io.IOException - This should never happens, it is only required because Appendable is used instead of any concrete class