Class JDOQLSingleStringParser

java.lang.Object
org.datanucleus.store.query.JDOQLSingleStringParser

public class JDOQLSingleStringParser extends 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 Details

    • query

      private Query query
      The JDOQL query to populate.
    • queryString

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

      boolean allowDelete
    • allowUpdate

      boolean allowUpdate
  • Constructor Details

    • JDOQLSingleStringParser

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

    • setAllowDelete

      public void setAllowDelete(boolean allow)
    • setAllowUpdate

      public void setAllowUpdate(boolean allow)
    • parse

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