Class InputParameterStateObject

  • All Implemented Interfaces:
    StateObject

    public class InputParameterStateObject
    extends SimpleStateObject
    Either positional or named parameters may be used. Positional and named parameters may not be mixed in a single query. Input parameters can only be used in the WHERE clause or HAVING clause of a query.
    Version:
    2.4
    See Also:
    InputParameter
    Author:
    Pascal Filion
    Since:
    2.4
    • Constructor Detail

      • InputParameterStateObject

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

        public InputParameterStateObject​(StateObject parent,
                                         java.lang.String parameter)
        Creates a new InputParameterStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        parameter - The positional or named input parameter
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
    • Method Detail

      • getExpression

        public InputParameter 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)
      • isNamed

        public boolean isNamed()
        Determines whether this parameter is a positional parameter, i.e. the parameter type is '?'.
        Returns:
        true if the parameter type is '?'; false if it's ':'
      • isPositional

        public boolean isPositional()
        Determines whether this parameter is a positional parameter, i.e. the parameter type is ':'.
        Returns:
        true if the parameter type is ':'; false if it's '?'
      • setExpression

        public void setExpression​(InputParameter 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 an input parameter