01: package liquibase.change.custom;
02:
03: import liquibase.FileOpener;
04: import liquibase.exception.SetupException;
05:
06: /**
07: * Interface to implement when creating a custom change. Actual custom changes implementations need to
08: * implement CustomSqlChange or CustomTaskChange.
09: * <br><br>
10: * See http://www.liquibase.org/manual/custom_refactoring_class for more information.
11: */
12: interface CustomChange {
13:
14: /**
15: * Confirmation message to be displayed after the change is executed
16: *
17: * @return a {@link String} containing the message after the change is executed
18: */
19: public String getConfirmationMessage();
20:
21: /**
22: * This method will be called after the no arg constructor and all of the
23: * properties have been set to allow the task to do any heavy tasks or
24: * more importantly generate any exceptions to report to the user about
25: * the settings provided.
26: *
27: */
28: public void setUp() throws SetupException;
29:
30: /**
31: * Sets the fileOpener that should be used for any file loading and resource
32: * finding for files that are provided by the user.
33: */
34: public void setFileOpener(FileOpener fileOpener);
35:
36: }
|