1 /* Version 1.0 based on Apache Software License 1.1
2 *
3 * Copyright (c) 2003 Piotr Maj and DBMonster developers. All rights
4 * reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 *
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * 3. The end-user documentation included with the redistribution, if any,
18 * must include the following acknowledgment:
19 *
20 * "This product includes software developed by DBMonster developers
21 * (http://dbmonster.kernelpanic.pl/)."
22 *
23 * Alternately, this acknowledgment may appear in the software itself,
24 * if and wherever such third-party acknowledgments normally appear.
25 *
26 * 4. The name "DBMonster" must not be used to endorse or promote products
27 * derived from this software without prior written permission. For
28 * written permission, please contact pm@jcake.com.
29 *
30 * 5. Products derived from this software may not be called "DBMonster",
31 * nor may "DBMonster" appear in their name, without prior written
32 * permission of Piotr Maj.
33 *
34 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
35 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
36 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
37 * IN NO EVENT SHALL THE DBMONSTER DEVELOPERS BE LIABLE FOR ANY DIRECT,
38 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
39 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
40 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
41 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
42 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
43 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
44 * POSSIBILITY OF SUCH DAMAGE.
45 */
46
47 package pl.kernelpanic.dbmonster;
48
49 /***
50 * Basic interface for all progress monitors plug into DBMonster.
51 *
52 * @author Piotr Maj <pm@jcake.com>
53 *
54 * @version $Id: ProgressMonitor.java,v 1.1 2004/05/22 13:14:16 majek Exp $
55 */
56 public interface ProgressMonitor {
57
58 /***
59 * Called on startup.
60 */
61 void setUp();
62
63 /***
64 * Called after the work is over.
65 */
66 void tearDown();
67
68 /***
69 * Resets all settings.
70 */
71 void reset();
72
73 /***
74 * Resets tables.
75 */
76 void resetTables();
77
78 /***
79 * Reset rows. Called before next table is processed.
80 */
81 void resetRows();
82
83 /***
84 * Sets the schema count.
85 *
86 * @param count number of schemas.
87 */
88 void setSchemaCount(int count);
89
90 /***
91 * Sets the table count.
92 *
93 * @param count number of tables.
94 */
95 void setTableCount(int count);
96
97 /***
98 * Sets the number of rows.
99 *
100 * @param count number of rows
101 */
102 void setRowsCount(int count);
103
104 /***
105 * Called when schema is completed.
106 */
107 void schemaComplete();
108
109 /***
110 * Called when table is completed.
111 */
112 void tableComplete();
113
114 /***
115 * Called when row is complete.
116 */
117 void rowComplete();
118
119 /***
120 * Sets the name of the schema being generated.
121 *
122 * @param name schema name
123 */
124 void setSchemaName(String name);
125
126 /***
127 * Sets the name of the table being generated.
128 *
129 * @param name table name
130 */
131 void setTableName(String name);
132 }