Class AbstractTripleEncapsulatedExpressionStateObject

    • Field Detail

      • FIRST_STATE_OBJECT_PROPERTY

        public static final java.lang.String FIRST_STATE_OBJECT_PROPERTY
        Notifies the first StateObject property has changed.
        See Also:
        Constant Field Values
      • SECOND_STATE_OBJECT_PROPERTY

        public static final java.lang.String SECOND_STATE_OBJECT_PROPERTY
        Notifies the second StateObject property has changed.
        See Also:
        Constant Field Values
      • THIRD_STATE_OBJECT_PROPERTY

        public static final java.lang.String THIRD_STATE_OBJECT_PROPERTY
        Notifies the third StateObject property has changed.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AbstractTripleEncapsulatedExpressionStateObject

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

        protected AbstractTripleEncapsulatedExpressionStateObject​(StateObject parent,
                                                                  StateObject firstStateObject,
                                                                  StateObject secondStateObject,
                                                                  StateObject thirdStateObject)
        Creates a new AbstractTripleEncapsulatedExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        firstStateObject - The StateObject of the first encapsulated expression
        secondStateObject - The StateObject of the second encapsulated expression
        thirdStateObject - The StateObject of the third encapsulated expression
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
      • AbstractTripleEncapsulatedExpressionStateObject

        protected AbstractTripleEncapsulatedExpressionStateObject​(StateObject parent,
                                                                  java.lang.String firstJpqlFragment,
                                                                  java.lang.String secondJpqlFragment,
                                                                  java.lang.String thirdJpqlFragment)
        Creates a new AbstractTripleEncapsulatedExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        firstJpqlFragment - The string representation of the first encapsulated expression to parse and to convert into a StateObject representation
        secondJpqlFragment - The string representation of the second encapsulated expression to parse and to convert into a StateObject representation
        thirdJpqlFragment - The string representation of the third encapsulated expression to parse and to convert into a StateObject representation
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
    • Method Detail

      • getFirst

        public StateObject getFirst()
        Returns the StateObject representing the first expression.
        Returns:
        The first encapsulated StateObject or null if none exists
      • getFirstQueryBNFId

        protected abstract java.lang.String getFirstQueryBNFId()
        Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the first encapsulated expression.
        Returns:
        The query BNF ID for the first encapsulated expression
      • getSecond

        public StateObject getSecond()
        Returns the StateObject representing the second expression.
        Returns:
        The second encapsulated StateObject or null if none exists
      • getSecondQueryBNFId

        protected abstract java.lang.String getSecondQueryBNFId()
        Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the second encapsulated expression.
        Returns:
        The query BNF ID for the second encapsulated expression
      • getThird

        public StateObject getThird()
        Returns the StateObject representing the third expression.
        Returns:
        The third encapsulated StateObject or null if none exists
      • getThirdQueryBNFId

        protected abstract java.lang.String getThirdQueryBNFId()
        Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the third encapsulated expression.
        Returns:
        The query BNF ID for the third encapsulated expression
      • hasFirst

        public boolean hasFirst()
        Determines whether the StateObject representing the first encapsulated expression is present or not.
        Returns:
        true if the first StateObject is not null; false otherwise
      • hasSecond

        public boolean hasSecond()
        Determines whether the StateObject representing the second encapsulated expression is present or not.
        Returns:
        true if the second StateObject is not null; false otherwise
      • hasThird

        public boolean hasThird()
        Determines whether the StateObject representing the third encapsulated expression is present or not.
        Returns:
        true if the third StateObject is not null; false otherwise
      • parseFirst

        public void parseFirst​(java.lang.String jpqlFragment)
        Parses the given JPQL fragment, which will represent the first encapsulated expression.
        Parameters:
        jpqlFragment - The string representation of the first encapsulated expression to parse and to convert into a StateObject representation
      • parseSecond

        public void parseSecond​(java.lang.String jpqlFragment)
        Parses the given JPQL fragment, which will represent the second encapsulated expression.
        Parameters:
        jpqlFragment - The string representation of the second encapsulated expression to parse and to convert into a StateObject representation
      • parseThird

        public void parseThird​(java.lang.String jpqlFragment)
        Parses the given JPQL fragment, which will represent the third encapsulated expression.
        Parameters:
        jpqlFragment - The string representation of the third encapsulated expression to parse and to convert into a StateObject representation
      • setFirst

        public void setFirst​(StateObject firstStateObject)
        Sets the given StateObject to represent the first encapsulated expression.
        Parameters:
        firstStateObject - The new encapsulated StateObject representing the first expression
      • setSecond

        public void setSecond​(StateObject secondStateObject)
        Sets the given StateObject to represent the second encapsulated expression.
        Parameters:
        secondStateObject - The new encapsulated StateObject representing the second expression
      • setThird

        public void setThird​(StateObject thirdStateObject)
        Sets the given StateObject to represent the third encapsulated expression.
        Parameters:
        thirdStateObject - The new encapsulated StateObject representing the third expression
      • toTextEncapsulatedExpression

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