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
-
ClassDescriptionThe compound parameters controlling the META SQL execution.The low level (before and after the SQL command execution) SQL callback.The SQL command execution callback (before and after the SQL command execution).The primary SQL Processor class for the META SQL CRUD statement execution.The simple implementation of the
SqlEngineFactory
.The customized ThreadPoolExecutor.The general exception class for the SQL Processor parser.The factory definition, which can be used to construct theSqlEngine
instances.The vehicle interface definition, which can be used to monitor the duration of all SQL queries execution.The optional features are used to alter the behavior of the SQL Processor.The helper class for the file(s) loading.The vehicle interface definition, which can be used to monitor the duration of all SQL queries execution.This interface is implemented inSqlQueryEngine
andSqlCrudEngine
main public methods.The factory definition, which can be used to construct theSqlMonitor
instances.The list of ordering directives for the SQL Processor queries execution.The enumeration for the ordering directives.The primary SQL Processor class for the META SQL stored procedures execution.The general runtime exception class for the SQL Processor engine.The helper class for the META SQL statements and mapping rules parsing.The SQL Processor processing cacheThe SQL Processor initialized enginesThe SQL Engine typesThe SQL Engine query contract definition.A low level callback to be used with the cursor based queries.The primary SQL Processor class for the META SQL query execution.A callback to be used with the cursor based queries.The public runtime context.The general runtime exception class for the SQL Processor engine.The SQL Engine session contract definition.The factory definition, which can be used to construct theSqlSession
instances.