View Javadoc
1   /*
2    *
3    * The DbUnit Database Testing Framework
4    * Copyright (C)2002-2004, DbUnit.org
5    *
6    * This library is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Lesser General Public
8    * License as published by the Free Software Foundation; either
9    * version 2.1 of the License, or (at your option) any later version.
10   *
11   * This library is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public
17   * License along with this library; if not, write to the Free Software
18   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   *
20   */
21  package org.dbunit.dataset.stream;
22  
23  import org.dbunit.dataset.DataSetException;
24  import org.dbunit.dataset.ITableMetaData;
25  
26  
27  /**
28   * Receive notification of the content of a dataset.
29   *
30   * @author Manuel Laflamme
31   * @since Apr 17, 2003
32   * @version $Revision$
33   */
34  public interface IDataSetConsumer
35  {
36      /**
37       * Receive notification of the beginning of a dataset. This method is
38       * invoked only once, before any other methods in this interface.
39       */
40      public void startDataSet() throws DataSetException;
41  
42      /**
43       * Receive notification of the end of a dataset. This method is invoked only
44       * once, and it will be the last method invoked in this interface.
45       */
46      public void endDataSet() throws DataSetException;
47  
48      /**
49       * Receive notification of the beginning of a table. This method is invoked
50       * at the beginning of every table in the dataset; there will be a
51       * corresponding {@link #endDataSet} event for every <code>startTable</code>
52       * event (even when the table is empty).
53       * @param metaData the table metadata
54       */
55      public void startTable(ITableMetaData metaData) throws DataSetException;
56  
57      /**
58       * Receive notification of the end of a table.
59       */
60      public void endTable() throws DataSetException;
61  
62      /**
63       * Receive notification of a table row. This method is invoked to report
64       * each row of a table.
65       * @param values The row values.
66       */
67      public void row(Object[] values) throws DataSetException;
68  }