Class EJBQLC
- java.lang.Object
-
- com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLC
-
public class EJBQLC extends Object
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
Fields Modifier and Type Field Description protected EJBQLASTastThe intermediate form of the EJBQL query string.protected ModelmodelMeta data access.protected static ResourceBundlemsgsI18N support.protected NameMappernameMapperName mapping EJB <-> JDO.static StringSIGNATURESignature with CVS keyword substitution for identifying the generated code
-
Constructor Summary
Constructors Constructor Description EJBQLC(Model model, NameMapper nameMapper)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JDOQLElementscompile(String ejbqlQuery, Method method, int resultTypeMapping, boolean finderNotSelector, String ejbName)Compiles the specified query string for the specified finder/selector method.
-
-
-
Field Detail
-
model
protected Model model
Meta data access.
-
nameMapper
protected NameMapper nameMapper
Name mapping EJB <-> JDO.
-
ast
protected EJBQLAST ast
The intermediate form of the EJBQL query string.
-
msgs
protected static final ResourceBundle msgs
I18N support.
-
SIGNATURE
public static final String SIGNATURE
Signature with CVS keyword substitution for identifying the generated code- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EJBQLC
public EJBQLC(Model model, NameMapper nameMapper)
Constructor.- Parameters:
model- meta data access.nameMapper- name mapping EJB <-> JDO.
-
-
Method Detail
-
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
-
-