Package liquibase.sqlgenerator
Class SqlGeneratorFactory
- java.lang.Object
-
- liquibase.sqlgenerator.SqlGeneratorFactory
-
public class SqlGeneratorFactory extends Object
SqlGeneratorFactory is a singleton registry of SqlGenerators. Use the register(SqlGenerator) method to add custom SqlGenerators, and the getBestGenerator() method to retrieve the SqlGenerator that should be used for a given SqlStatement.
-
-
Field Summary
Fields Modifier and Type Field Description static String
GENERATED_SQL_ARRAY_SCOPE_KEY
-
Method Summary
-
-
-
Field Detail
-
GENERATED_SQL_ARRAY_SCOPE_KEY
public static final String GENERATED_SQL_ARRAY_SCOPE_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
getInstance
public static SqlGeneratorFactory getInstance()
Return singleton SqlGeneratorFactory
-
reset
public static void reset()
-
register
public void register(SqlGenerator generator)
-
unregister
public void unregister(SqlGenerator generator)
-
unregister
public void unregister(Class generatorClass)
-
getGenerators
protected Collection<SqlGenerator> getGenerators()
-
getGenerators
public SortedSet<SqlGenerator> getGenerators(SqlStatement statement, Database database)
-
generateSql
public Sql[] generateSql(SqlStatement[] statements, Database database)
-
generateSql
public Sql[] generateSql(SqlStatement statement, Database database)
-
generateStatementsVolatile
public boolean generateStatementsVolatile(SqlStatement statement, Database database)
Return true if the SqlStatement class queries the database in any way to determine Statements to execute. If the statement queries the database, it cannot be used in updateSql type operations
-
generateRollbackStatementsVolatile
public boolean generateRollbackStatementsVolatile(SqlStatement statement, Database database)
-
supports
public boolean supports(SqlStatement statement, Database database)
-
validate
public ValidationErrors validate(SqlStatement statement, Database database)
-
warn
public Warnings warn(SqlStatement statement, Database database)
-
getAffectedDatabaseObjects
public Set<DatabaseObject> getAffectedDatabaseObjects(SqlStatement statement, Database database)
-
-