Class AbstractEncapsulatedExpressionStateObject

    • Constructor Detail

      • AbstractEncapsulatedExpressionStateObject

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

      • getIdentifier

        public abstract java.lang.String getIdentifier()
        Returns the JPQL identifier of the expression represented by this AbstractSingleEncapsulatedExpressionStateObject.
        Returns:
        The JPQL identifier that is shown before the left parenthesis
      • toTextEncapsulatedExpression

        protected abstract 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.
        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
      • 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