1 package com.atlassian.dbexporter.progress;
2
3
4 /**
5 * Implement this interface to be notified of progress of long running tasks.
6 *
7 * @since 0.9.7
8 */
9 public interface ProgressMonitor {
10 void begin(Object... args);
11
12 void end(Object... args);
13
14 void begin(Task task, Object... args);
15
16 void end(Task task, Object... args);
17
18 void totalNumberOfTables(int size);
19
20 enum Task {
21 /**
22 * This is the task for importing/exporting the database information
23 */
24 DATABASE_INFORMATION,
25
26 /**
27 * This is the task for importing/exporting the table definitions
28 */
29 TABLE_DEFINITION,
30
31 /**
32 * This is the task of creating a table
33 */
34 TABLE_CREATION,
35
36 /**
37 * This is the task of importing/exporting <strong>all</strong> tables data
38 */
39 TABLES_DATA,
40
41 /**
42 * This is the task of importing/exporting a <strong>single</strong> table data
43 */
44 TABLE_DATA,
45
46 TABLE_ROW,
47 }
48 }