Class JDOQLSingleStringParser


  • public class JDOQLSingleStringParser
    extends java.lang.Object
    Parser for handling JDOQL Single-String queries. Takes a JDOQLQuery and the query string and parses it into its constituent parts, updating the JDOQLQuery accordingly with the result that after calling the parse() method the JDOQLQuery is populated.
     select [unique] [{result}] [into {result-class-name}]
                                  [from {candidate-class-name} [exclude subclasses] ]
                                  [where {filter}]
                                  [variables {variables-clause} ]
                                  [parameters {parameters-clause} ]
                                  [{imports-clause}]
                                  [group by {grouping-clause} ]
                                  [order by {ordering-clause} ]
                                  [range {from-range} ,{to-range}]                                       
     
    or
     UPDATE {candidate-class-name} SET fld1 = val[, fld2 = val2] WHERE {filter}
     
    or
     DELETE FROM {candidate-class-name} [exclude-subclasses] WHERE {filter}
     
    Note that {filter} can contain subqueries, hence containing keywords
     SELECT c FROM Customer c WHERE timeAvailable < (SELECT avg(hours) FROM Employee e)
     
    So the "filter" for the outer query is "timeAvailable < (SELECT avg(hours) FROM Employee e)"
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) boolean allowDelete  
      (package private) boolean allowUpdate  
      private Query query
      The JDOQL query to populate.
      private java.lang.String queryString
      The single-string query string.
    • Constructor Summary

      Constructors 
      Constructor Description
      JDOQLSingleStringParser​(Query query, java.lang.String queryString)
      Constructor for the Single-String parser.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void parse()
      Method to parse the Single-String query
      void setAllowDelete​(boolean allow)  
      void setAllowUpdate​(boolean allow)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • query

        private Query query
        The JDOQL query to populate.
      • queryString

        private java.lang.String queryString
        The single-string query string.
      • allowDelete

        boolean allowDelete
      • allowUpdate

        boolean allowUpdate
    • Constructor Detail

      • JDOQLSingleStringParser

        public JDOQLSingleStringParser​(Query query,
                                       java.lang.String queryString)
        Constructor for the Single-String parser.
        Parameters:
        query - The query
        queryString - The Single-String query
    • Method Detail

      • setAllowDelete

        public void setAllowDelete​(boolean allow)
      • setAllowUpdate

        public void setAllowUpdate​(boolean allow)
      • parse

        public void parse()
        Method to parse the Single-String query