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 }