Coverage Report - liquibase.sqlgenerator.SqlGeneratorChain
 
Classes in this File Line Coverage Branch Coverage Complexity
SqlGeneratorChain
100%
15/15
92%
13/14
3.75
 
 1  
 package liquibase.sqlgenerator;
 2  
 
 3  
 import liquibase.database.Database;
 4  
 import liquibase.exception.ValidationErrors;
 5  
 import liquibase.exception.Warnings;
 6  
 import liquibase.sql.Sql;
 7  
 import liquibase.statement.SqlStatement;
 8  
 
 9  
 import java.util.Iterator;
 10  
 import java.util.SortedSet;
 11  
 
 12  
 public class SqlGeneratorChain {
 13  
     private Iterator<SqlGenerator> sqlGenerators;
 14  
 
 15  611
     public SqlGeneratorChain(SortedSet<SqlGenerator> sqlGenerators) {
 16  611
         if (sqlGenerators != null) {
 17  609
             this.sqlGenerators = sqlGenerators.iterator();
 18  
         }
 19  611
     }
 20  
 
 21  
     public Sql[] generateSql(SqlStatement statement, Database database) {
 22  11
         if (sqlGenerators == null) {
 23  1
             return null;
 24  
         }
 25  
 
 26  10
         if (!sqlGenerators.hasNext()) {
 27  4
             return new Sql[0];
 28  
         }
 29  
 
 30  6
         return sqlGenerators.next().generateSql(statement, database, this);
 31  
     }
 32  
 
 33  
     public Warnings warn(SqlStatement statement, Database database) {
 34  8
         if (sqlGenerators == null || !sqlGenerators.hasNext()) {
 35  4
             return new Warnings();
 36  
         }
 37  
 
 38  4
         return sqlGenerators.next().warn(statement, database, this);
 39  
     }
 40  
 
 41  
     public ValidationErrors validate(SqlStatement statement, Database database) {
 42  437
         if (sqlGenerators == null || !sqlGenerators.hasNext()) {
 43  6
             return new ValidationErrors();
 44  
         }
 45  
 
 46  431
         return sqlGenerators.next().validate(statement, database, this);
 47  
     }
 48  
 }