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
22 package org.dbunit.dataset;
23
24 /**
25 * Represents a collection of tables.
26 *
27 * @author Manuel Laflamme
28 * @version $Revision$
29 * @since Feb 17, 2002
30 */
31 public interface IDataSet
32 {
33 /**
34 * Returns names of tables in this dataset in proper sequence. Multiple
35 * occurrence of the same name may be returned if multiple tables having
36 * the same name are present in the dataset.
37 */
38 public String[] getTableNames() throws DataSetException;
39
40 /**
41 * Returns the specified table metadata.
42 *
43 * @throws AmbiguousTableNameException if dataset contains multiple tables
44 * having the specified name. Use {@link #iterator} to access
45 * to all tables.
46 * @throws NoSuchTableException if dataset do not contains the specified
47 * table
48 */
49 public ITableMetaData getTableMetaData(String tableName)
50 throws DataSetException;
51
52 /**
53 * Returns the specified table.
54 *
55 * @throws AmbiguousTableNameException if dataset contains multiple tables
56 * having the specified name. Use {@link #iterator} to access
57 * to all tables.
58 * @throws NoSuchTableException if dataset do not contains the specified
59 * table
60 */
61 public ITable getTable(String tableName) throws DataSetException;
62
63 /**
64 * Returns tables in this dataset in proper sequence. Multiple tables having
65 * the same name but different data may be returned.
66 *
67 * @deprecated Use {@link #iterator} or {@link #reverseIterator} instead.
68 */
69 public ITable[] getTables() throws DataSetException;
70
71 /**
72 * Returns an iterator over the tables in this dataset in proper sequence.
73 */
74 public ITableIterator iterator() throws DataSetException;
75
76 /**
77 * Returns an iterator over the tables in this dataset in reverse sequence.
78 */
79 public ITableIterator reverseIterator() throws DataSetException;
80
81 /**
82 * Whether or not this dataset handles table names in a case sensitive way or not.
83 * @return <code>true</code> if the case sensitivity of table names is used in this dataset.
84 * @since 2.4.2
85 */
86 public boolean isCaseSensitiveTableNames();
87
88 }
89
90
91
92
93
94