View Javadoc

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 piotr.maj@kernelpanic.pl.
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 <piotr.maj@kernelpanic.pl>
53   *
54   * @version $Id: ProgressMonitor.html,v 1.1 2007/06/21 08:38:14 sbahloul 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 }