1 package liquibase.change.core; 2 3 import liquibase.change.AbstractChange; 4 import liquibase.change.ChangeMetaData; 5 import liquibase.change.ChangeProperty; 6 import liquibase.database.Database; 7 import liquibase.statement.SqlStatement; 8 9 import java.util.ArrayList; 10 import java.util.Arrays; 11 import java.util.List; 12 13 public class AnonymousChange extends AbstractChange { 14 15 @ChangeProperty(includeInSerialization = false) 16 private List<SqlStatement> statements = new ArrayList<SqlStatement>(); 17 18 public AnonymousChange() { 19 this(new SqlStatement[0]); 20 } 21 22 public AnonymousChange(SqlStatement... statement) { 23 super("anonymous", "Anonymous change", ChangeMetaData.PRIORITY_DEFAULT); 24 this.statements.addAll(Arrays.asList(statement)); 25 } 26 27 public String getConfirmationMessage() { 28 return statements.size() + " statements executed"; 29 } 30 31 public SqlStatement[] generateStatements(Database database) { 32 return statements.toArray(new SqlStatement[statements.size()]); 33 } 34 }