Class StringLiteralStateObject

  • All Implemented Interfaces:
    StateObject

    public class StringLiteralStateObject
    extends SimpleStateObject
    A string literal is enclosed in single quotes. For example: 'literal'. A string literal that includes a single quote is represented by two single quotes. For example: 'literal''s'. String literals in queries, like Java String literals, use unicode character encoding. Approximate literals support the use Java floating point literal syntax as well as SQL approximate numeric literal syntax. Enum literals support the use of Java enum literal syntax. The enum class name must be specified. Appropriate suffixes may be used to indicate the specific type of a numeric literal in accordance with the Java Language Specification. The boolean literals are TRUE and FALSE. Although predefined reserved literals appear in upper case, they are case insensitive.
    Version:
    2.4
    See Also:
    StringLiteral
    Author:
    Pascal Filion
    Since:
    2.4
    • Constructor Detail

      • StringLiteralStateObject

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

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

      • getExpression

        public StringLiteral getExpression()
        Returns the actual parsed object if this StateObject representation of the JPQL query was created by parsing an existing JPQL query.
        Specified by:
        getExpression in interface StateObject
        Overrides:
        getExpression in class AbstractStateObject
        Returns:
        The parsed object when a JPQL query is parsed and converted into a StateObject or null when the JPQL query is manually created (i.e. not from a string)
      • getUnquotedText

        public java.lang.String getUnquotedText()
        Returns the string literal without the single quotes.
        Returns:
        The unquoted text
      • hasCloseQuote

        public boolean hasCloseQuote()
        Determines whether the closing quote was present or not.
        Returns:
        true if the literal is ended by a single quote; false otherwise
      • setExpression

        public void setExpression​(StringLiteral expression)
        Keeps a reference of the parsed object object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query into StateObjects.
        Parameters:
        expression - The parsed object representing a string literal