View Javadoc

1   /*
2    * SymmetricDS is an open source database synchronization solution.
3    *   
4    * Copyright (C) Eric Long <erilong@users.sourceforge.net>,
5    *               Chris Henson <chenson42@users.sourceforge.net>
6    *
7    * This library is free software; you can redistribute it and/or
8    * modify it under the terms of the GNU Lesser General Public
9    * License as published by the Free Software Foundation; either
10   * version 3 of the License, or (at your option) any later version.
11   *
12   * This library is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this library; if not, see
19   * <http://www.gnu.org/licenses/>.
20   */
21  
22  package org.jumpmind.symmetric.load;
23  
24  import java.io.BufferedReader;
25  import java.io.IOException;
26  import java.util.List;
27  import java.util.Map;
28  
29  import org.springframework.transaction.annotation.Transactional;
30  
31  public interface IDataLoader extends Cloneable {
32  
33      public void open(BufferedReader in) throws IOException;
34  
35      public void open(BufferedReader in, List<IDataLoaderFilter> filters, Map<String, IColumnFilter> columnFilters)
36              throws IOException;
37  
38      public boolean hasNext() throws IOException;
39  
40      @Transactional
41      public void load() throws IOException;
42  
43      public void skip() throws IOException;
44  
45      public void close();
46  
47      public IDataLoader clone();
48  
49      public IDataLoaderContext getContext();
50  
51      public IDataLoaderStatistics getStatistics();
52  
53  }