Package handling the (generic) compilation of queries. Provides compilation of "string-based" queries. Provides handling for different query languages such as JDOQL and JPQL. Compilation of a string-based query goes through two steps.
- Parse of the string converting each component of the query into a Node tree
- Compilation of the Node tree into an expression tree
Interface Summary Interface Description CompilationOptimiserInterface to be implemented by an "optimiser" for the query compilation process. ParserInterface for a parser of a query. SymbolA symbol in a query. SymbolResolverInterface for use in the resolution of symbols during query compilation.
Class Summary Class Description AbstractParserAbstract query parser. AbstractSymbolResolverBase symbol resolver, to be extended for particular query languages. JavaQueryCompilerTypical implementation of a compiler for a java-based query language. JDOQLCompilerImplementation of a compiler for JDOQL (JSR0012, JSR0243). JDOQLParserImplementation of a parser for JDOQL query language. JDOQLSymbolResolverSymbol resolver for JDOQL. JPQLCompilerImplementation of a compiler for JPQL (JSR0220, JSR0317). JPQLParserImplementation of a parser for JPQL query language. JPQLSymbolResolverSymbol resolver for JPQL. LexerLexer for a Query. NavigationNullCompilationOptimiserOptimiser for query compilation that searches for navigation through relations, and adds "not null" checks. NodeRepresentation of a node in a tree of nodes. ParameterNodeNode representing a parameter. PropertySymbolSymbol representing a property/identifier in a query. QueryCompilationRepresentation of the components of a compiled java "string-based" query. SymbolTableTable of symbols in a query. VarThisCompilationOptimiserOptimiser for query compilation that searches for variable equality like "var == this".
Enum Summary Enum Description CompilationComponentEnum defining the component of a query being compiled. NodeTypeEnum of node types.
Exception Summary Exception Description QueryCompilerSyntaxExceptionException thrown when a query compiler finds an error relative to the expected syntax.