Package org.sqlproc.engine
SqlQueryEngine
and SqlCrudEngine
.
There are also some helper classes and basic interfaces.
SQL Processor is Data Driven Query Engine. It's able to dynamically generate ANSI SQL query or statement based on search data provided by an end user or an application. This is done in the runtime, without any plumbing code required.
SQL Processor has 3 basic inputs:
- A META SQL query or statement. META SQL is an ANSI SQL extension based on ANTLR grammar.
For example the META SQL query is
select p.ID id, p.NAME name from PERSON p {= where {& p.id=:id} {& UPPER(name)=:+p.name}}
- Input values provided by an end user. These data are collected in a search form, a standard POJO object, which can be created in a presentation layer of a web application.
- A result class definition, which is used to carry output data from an SQL query execution. This class is a standard POJO object, instances of which are created in the SQL Processor without any plumbing code. It can work as a transport object from a persistence to a presentation layer of a web application.
For the META SQL query described above the generated ANSI SQL query can be
select p.ID id, p.NAME name from PERSON p
in the case there are no values in a search form or this search form is null.select p.ID id, p.NAME name from PERSON p where id=?
in the case there's a not null value forid
attribute in a search form.
In the process of data collection from a search form it's used Reflection API. The same API is used in the process of seeding instances of result class with the SQL query execution output.
The package org.sqlproc.engine.impl
contains non public part of the SQL Processor implementation.
This part of the code can be changed any time to improve the SQL Processor capabilities.
For more info please see the Tutorials.
- Author:
- Vladimir Hudec
-
Interface Summary Interface Description SqlControl The compound parameters controlling the META SQL execution.SqlControl.LowLevelSqlCallback The low level (before and after the SQL command execution) SQL callback.SqlControl.SqlExecutionCallback The SQL command execution callback (before and after the SQL command execution).SqlEngineFactory The factory definition, which can be used to construct theSqlEngine
instances.SqlExtendedMonitor The vehicle interface definition, which can be used to monitor the duration of all SQL queries execution.SqlMonitor The vehicle interface definition, which can be used to monitor the duration of all SQL queries execution.SqlMonitor.Runner This interface is implemented inSqlQueryEngine
andSqlCrudEngine
main public methods.SqlMonitorFactory The factory definition, which can be used to construct theSqlMonitor
instances.SqlQuery The SQL Engine query contract definition.SqlQuery.SqlQueryRowProcessor A low level callback to be used with the cursor based queries.SqlRowProcessor<E> A callback to be used with the cursor based queries.SqlRuntimeContext The public runtime context.SqlSession The SQL Engine session contract definition.SqlSessionFactory The factory definition, which can be used to construct theSqlSession
instances. -
Class Summary Class Description SqlCrudEngine The primary SQL Processor class for the META SQL CRUD statement execution.SqlDefaultFactory The simple implementation of theSqlEngineFactory
.SqlDefaultFactory.SqlThreadPoolExecutor The customized ThreadPoolExecutor.SqlEngine SqlFilesLoader The helper class for the file(s) loading.SqlOrder The list of ordering directives for the SQL Processor queries execution.SqlProcedureEngine The primary SQL Processor class for the META SQL stored procedures execution.SqlProcessorLoader The helper class for the META SQL statements and mapping rules parsing.SqlProcessorLoader.Cache The SQL Processor processing cacheSqlProcessorLoader.Engine The SQL Processor initialized enginesSqlQueryEngine The primary SQL Processor class for the META SQL query execution. -
Enum Summary Enum Description SqlFeature The optional features are used to alter the behavior of the SQL Processor.SqlOrder.Order The enumeration for the ordering directives.SqlProcessorLoader.EngineType The SQL Engine types -
Exception Summary Exception Description SqlEngineException The general exception class for the SQL Processor parser.SqlProcessorException The general runtime exception class for the SQL Processor engine.SqlRuntimeException The general runtime exception class for the SQL Processor engine.