Class NotExpressionStateObject

  • All Implemented Interfaces:
    StateObject

    public class NotExpressionStateObject
    extends AbstractStateObject
    BNF: expression ::= NOT conditional_primary

    Since:
    2.4
    Version:
    2.4
    Author:
    Pascal Filion
    See Also:
    NotExpression
    • Field Detail

      • STATE_OBJECT_PROPERTY

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

      • NotExpressionStateObject

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

        public NotExpressionStateObject​(StateObject parent,
                                        StateObject stateObject)
        Creates a new NotExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        stateObject - The StateObject representing the negated expression
        Throws:
        NullPointerException - The given parent cannot be null
      • NotExpressionStateObject

        public NotExpressionStateObject​(StateObject parent,
                                        String jpqlFragment)
        Creates a new NotExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        jpqlFragment - The portion of the JPQL query that follows NOT, which will be parsed and converted into a StateObject
        Throws:
        NullPointerException - The given parent cannot be null
    • Method Detail

      • getStateObject

        public StateObject getStateObject()
        Returns the StateObject representing the negated expression.
        Returns:
        The StateObject representing the negated expression
      • hasStateObject

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

        public void parse​(String jpqlFragment)
        Parses the given JPQL fragment, which represents the negated expression, and creates the StateObject.
        Parameters:
        jpqlFragment - The portion of the query representing the negated expression
      • setExpression

        public void setExpression​(NotExpression 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 NOT expression
      • setStateObject

        public void setStateObject​(StateObject stateObject)
        Sets the given StateObject as the new negated expression.
        Parameters:
        stateObject - The StateObject representing the negated expression
      • toTextInternal

        protected void toTextInternal​(Appendable writer)
                               throws IOException
        Description copied from class: AbstractStateObject
        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:
        IOException - This should never happens, it is only required because Appendable is used instead of any concrete class