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 org.jumpmind.symmetric.ext.IExtensionPoint;
25 import org.springframework.transaction.annotation.Transactional;
26
27 @Transactional
28 public interface IDataLoaderFilter extends IExtensionPoint {
29
30 /***
31 * @return true if the row should be loaded. false if the filter has handled
32 * the row and it should be ignored.
33 */
34 public boolean filterInsert(IDataLoaderContext context, String[] columnValues);
35
36 /***
37 * @return true if the row should be loaded. false if the filter has handled
38 * the row and it should be ignored.
39 */
40 public boolean filterUpdate(IDataLoaderContext context, String[] columnValues, String[] keyValues);
41
42 /***
43 * @return true if the row should be loaded. false if the filter has handled
44 * the row and it should be ignored.
45 */
46 public boolean filterDelete(IDataLoaderContext context, String[] keyValues);
47
48 }