View Javadoc
1   package org.dbunit.dataset;
2   
3   /**
4    * <p>
5    * Copyright (c) 2003 OZ.COM. All Rights Reserved.
6    * </p>
7    * 
8    * @author manuel.laflamme
9    * @since Mar 30, 2004
10   */
11  public class EmptyTableDataSet extends AbstractDataSet
12  {
13      private final IDataSet _dataSet;
14  
15      public EmptyTableDataSet(IDataSet dataSet)
16      {
17          _dataSet = dataSet;
18      }
19  
20      ////////////////////////////////////////////////////////////////////////////
21      // IDataSet interface
22  
23      public String[] getTableNames() throws DataSetException
24      {
25          return _dataSet.getTableNames();
26      }
27  
28      public ITableMetaData getTableMetaData(String tableName)
29              throws DataSetException
30      {
31          return _dataSet.getTableMetaData(tableName);
32      }
33  
34      public ITable getTable(String tableName) throws DataSetException
35      {
36          return new DefaultTable(_dataSet.getTableMetaData(tableName));
37      }
38  
39      ////////////////////////////////////////////////////////////////////////////
40      // AbstractDataSet class
41  
42      protected ITableIterator createIterator(boolean reversed)
43              throws DataSetException
44      {
45          return new EmptyTableIterator(
46                  reversed ? _dataSet.reverseIterator() : _dataSet.iterator());
47      }
48  
49      public static class EmptyTableIterator implements ITableIterator
50      {
51          private final ITableIterator _iterator;
52  
53          public EmptyTableIterator(ITableIterator iterator)
54          {
55              _iterator = iterator;
56          }
57  
58          public boolean next() throws DataSetException
59          {
60              return _iterator.next();
61          }
62  
63          public ITableMetaData getTableMetaData() throws DataSetException
64          {
65              return _iterator.getTableMetaData();
66          }
67  
68          public ITable getTable() throws DataSetException
69          {
70              return new DefaultTable(_iterator.getTableMetaData());
71          }
72      }
73  }