Class CompoundExpressionStateObject

    • Field Detail

      • LEFT_STATE_OBJECT_PROPERTY

        public static final java.lang.String LEFT_STATE_OBJECT_PROPERTY
        Notifies the left state object property has changed.
        See Also:
        Constant Field Values
      • RIGHT_STATE_OBJECT_PROPERTY

        public static final java.lang.String RIGHT_STATE_OBJECT_PROPERTY
        Notifies the right state object property has changed.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CompoundExpressionStateObject

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

        protected CompoundExpressionStateObject​(StateObject parent,
                                                StateObject leftStateObject,
                                                StateObject rightStateObject)
        Creates a new ArithmeticExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        leftStateObject - The StateObject representing the left expression
        rightStateObject - The StateObject representing the right expression
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
      • CompoundExpressionStateObject

        protected CompoundExpressionStateObject​(StateObject parent,
                                                java.lang.String leftJpqlFragment,
                                                java.lang.String rightJpqlFragment)
        Creates a new ArithmeticExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        leftJpqlFragment - The string representation of the left expression to parse and to convert into a StateObject
        rightJpqlFragment - The string representation of the right expression to parse and to convert into a StateObject
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
    • Method Detail

      • getIdentifier

        public abstract java.lang.String getIdentifier()
        Returns the identifier joining the two StateObjects.
        Returns:
        The JPQL identifier join two expressions
      • getLeftQueryBNFId

        protected abstract java.lang.String getLeftQueryBNFId()
        Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the left side of the expression.
        Returns:
        The query BNF ID for the left side of the expression
      • getRightQueryBNFId

        protected abstract java.lang.String getRightQueryBNFId()
        Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.
        Returns:
        The query BNF ID for the right side of the expression
      • hasLeft

        public boolean hasLeft()
        Determines whether there is a StateObject that represents the left expression.
        Returns:
        true if there is a left StateObject; false if it is null
      • hasRight

        public boolean hasRight()
        Determines whether there is a StateObject that represents the right expression.
        Returns:
        true if there is a right StateObject; false if it is null
      • parseLeft

        public void parseLeft​(java.lang.String jpqlFragment)
        Parses the given JPQL fragment and update the left side of the compound expression.
        Parameters:
        jpqlFragment - The portion of the query to become the left side of the compound expression
      • parseRight

        public void parseRight​(java.lang.String jpqlFragment)
        Parses the given JPQL fragment and update the right side of the compound expression.
        Parameters:
        jpqlFragment - The portion of the query to become the right side of the compound expression
      • setLeft

        public void setLeft​(StateObject leftStateObject)
        Sets the left StateObject to become the given object.
        Parameters:
        leftStateObject - The StateObject representing the left expression
      • setRight

        public void setRight​(StateObject rightStateObject)
        Sets the right StateObject to become the given object.
        Parameters:
        rightStateObject - The StateObject representing the right expression
      • 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