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 }