Class EJBQLC
java.lang.Object
com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLC
This class is the driver of the EJBQL compiler. It controls the compiler
passes: syntax analysis, semantic analysis and generation of the JDOQL query.
A EJBQLC instance is able to compile multiple EJBQL queries as long as they
come from the same deployement descriptor. The class uses the model instance
passed to the constructor to access any meta data from the deployement
descriptor. Method compile(java.lang.String, java.lang.reflect.Method, int, boolean, java.lang.String) compiles a single EJBQL query string
together with the java.lang.reflect.Method instance of the corresponding
finder/selector method. The result is a JDOQLElements instance, that can be
used to construct a JDOQL query instance.
- Author:
- Michael Bouschen, Shing Wai Chan
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected EJBQLASTThe intermediate form of the EJBQL query string.protected com.sun.jdo.api.persistence.model.ModelMeta data access.protected static final ResourceBundleI18N support.protected NameMapperName mapping EJB <-> JDO.static final StringSignature with CVS keyword substitution for identifying the generated code -
Constructor Summary
ConstructorsConstructorDescriptionEJBQLC(com.sun.jdo.api.persistence.model.Model model, NameMapper nameMapper) Constructor. -
Method Summary
-
Field Details
-
model
protected com.sun.jdo.api.persistence.model.Model modelMeta data access. -
nameMapper
Name mapping EJB <-> JDO. -
ast
The intermediate form of the EJBQL query string. -
msgs
I18N support. -
SIGNATURE
Signature with CVS keyword substitution for identifying the generated code- See Also:
-
-
Constructor Details
-
EJBQLC
Constructor.- Parameters:
model- meta data access.nameMapper- name mapping EJB <-> JDO.
-
-
Method Details
-
compile
public JDOQLElements compile(String ejbqlQuery, Method method, int resultTypeMapping, boolean finderNotSelector, String ejbName) throws EJBQLException Compiles the specified query string for the specified finder/selector method.- Parameters:
ejbqlQuery- the EJBQL query textmethod- the Method instance of the finder or selectorresultTypeMapping- result-type-mapping element from the DDfinderNotSelector-trueindicates a finder,falsea selectorejbName- the ejb name of the entity bean- Throws:
EJBQLException
-