ma.vi.esql.parser.EsqlTransformer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of esql Show documentation
Show all versions of esql Show documentation
ESQL, SQL enhanced with metadata compiling to various relational databases
package ma.vi.esql.parser;
import ma.vi.esql.database.Database;
/**
*
* An ESQL transformer can transform an ESQL statement into a different ESQL
* statement. They are registered with the system and are invoked in the order
* of registration before an ESQL statement is executed.
*
*
*
* They are invoked after parameter substitution and macro expansion of the ESQL
* statement and can be viewed as external macro expansion system. After all
* transformers have been run, the final ESQL returned is translated and executed
* on the database.
*
*
*
* Transformers can be used to implement logic for access control, auditing,
* optimization, etc.
*
*
* @author Vikash Madhow ([email protected])
*/
public interface EsqlTransformer {
Esql, ?> transform(Database db, Esql, ?> esql);
}