org.apache.openjpa.kernel.exps
Interface ExpressionParser

All Superinterfaces:
Serializable
All Known Implementing Classes:
CriteriaBuilderImpl, JPQLParser

public interface ExpressionParser
extends Serializable

Parser for query languages that will be used by a ExpressionQuery. A QueryParser is responsible for translating from some string-based query language into Expressions. Parsers should be stateless.

Author:
Marc Prud'hommeaux

Method Summary
 QueryExpressions eval(Object parsed, ExpressionStoreQuery query, ExpressionFactory factory, ClassMetaData candidate)
          Parse the given query string.
 Value[] eval(String[] vals, ExpressionStoreQuery query, ExpressionFactory factory, ClassMetaData candidate)
          Parse the given value clauses.
 String getLanguage()
          Return a string key describing the language that this instance parses.
 Object parse(String ql, ExpressionStoreQuery query)
          Return a parsed intermediate form of the given query string.
 void populate(Object parsed, ExpressionStoreQuery query)
          Use the parsed query form to set information such as candidate type, result type, etc that was encoded in the query string.
 

Method Detail

getLanguage

String getLanguage()
Return a string key describing the language that this instance parses.


parse

Object parse(String ql,
             ExpressionStoreQuery query)
Return a parsed intermediate form of the given query string.


populate

void populate(Object parsed,
              ExpressionStoreQuery query)
Use the parsed query form to set information such as candidate type, result type, etc that was encoded in the query string.


eval

QueryExpressions eval(Object parsed,
                      ExpressionStoreQuery query,
                      ExpressionFactory factory,
                      ClassMetaData candidate)
Parse the given query string.


eval

Value[] eval(String[] vals,
             ExpressionStoreQuery query,
             ExpressionFactory factory,
             ClassMetaData candidate)
Parse the given value clauses.



Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.