1 package fr.ifremer.quadrige2.synchro.service.client;
2
3 /*-
4 * #%L
5 * Quadrige2 Core :: Quadrige2 Client Core
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2017 Ifremer
10 * %%
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Affero General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU Affero General Public License
22 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 * #L%
24 */
25
26 import fr.ifremer.common.synchro.service.RejectedRow;
27
28 import java.util.Map;
29
30 /**
31 * <p>
32 * SynchroRejectedRowResolver interface.
33 * </p>
34 *
35 */
36 public interface SynchroRejectedRowResolver {
37
38 /**
39 * Returns a strategy to solve synchronization rejected rows
40 *
41 * @param rejectCause
42 * a {@link fr.ifremer.common.synchro.service.RejectedRow.Cause} object.
43 * @param rejectInfos
44 * a {@link java.lang.String} object.
45 * @param rejectMessage
46 * a {@link java.lang.String} object.
47 * @return the strategy to use
48 */
49 RejectedRow.ResolveStrategy resolveReject(RejectedRow.Cause rejectCause, String rejectInfos, String rejectMessage);
50
51 /**
52 * Displays a message notifying about synchronization rejected rows
53 *
54 * @param rejectedRowsByCause
55 * a {@link java.util.Map} object.
56 * @param causeFilter
57 * a {@link fr.ifremer.common.synchro.service.RejectedRow.Cause} object.
58 * @param failMessage
59 * true to display a different message in case of failure, false otherwise
60 */
61 void showRejectMessage(Map<RejectedRow.Cause, String> rejectedRowsByCause, RejectedRow.Cause causeFilter, boolean failMessage);
62
63 }