1 /*
2 * This file is part of Waarp Project (named also Waarp or GG).
3 *
4 * Copyright (c) 2019, Waarp SAS, and individual contributors by the @author
5 * tags. See the COPYRIGHT.txt in the distribution for a full listing of
6 * individual contributors.
7 *
8 * All Waarp Project is free software: you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or (at your
11 * option) any later version.
12 *
13 * Waarp is distributed in the hope that it will be useful, but WITHOUT ANY
14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * Waarp . If not, see <http://www.gnu.org/licenses/>.
19 */
20 package org.waarp.openr66.context;
21
22 import org.waarp.openr66.context.task.exception.OpenR66RunnerErrorException;
23
24 /**
25 *
26 */
27 public interface R66BusinessInterface {
28 /**
29 * Called once the connection is opened
30 *
31 * @param session
32 *
33 * @throws OpenR66RunnerErrorException
34 */
35 void checkAtConnection(R66Session session) throws OpenR66RunnerErrorException;
36
37 /**
38 * Called once the authentication is done
39 *
40 * @param session
41 *
42 * @throws OpenR66RunnerErrorException
43 */
44 void checkAtAuthentication(R66Session session)
45 throws OpenR66RunnerErrorException;
46
47 /**
48 * Called once the DbTaskRunner is created/loaded and before pre tasks
49 *
50 * @param session
51 *
52 * @throws OpenR66RunnerErrorException
53 */
54 void checkAtStartup(R66Session session) throws OpenR66RunnerErrorException;
55
56 /**
57 * Called once the pre tasks are over in success
58 *
59 * @param session
60 *
61 * @throws OpenR66RunnerErrorException
62 */
63 void checkAfterPreCommand(R66Session session)
64 throws OpenR66RunnerErrorException;
65
66 /**
67 * Called once the transfer is done in success but before the post tasks
68 *
69 * @param session
70 *
71 * @throws OpenR66RunnerErrorException
72 */
73 void checkAfterTransfer(R66Session session)
74 throws OpenR66RunnerErrorException;
75
76 /**
77 * Called once the post tasks are over in success
78 *
79 * @param session
80 *
81 * @throws OpenR66RunnerErrorException
82 */
83 void checkAfterPost(R66Session session) throws OpenR66RunnerErrorException;
84
85 /**
86 * Called once any error occurs
87 *
88 * @param session
89 *
90 * @throws OpenR66RunnerErrorException
91 */
92 void checkAtError(R66Session session);
93
94 /**
95 * Called once after pre tasks, while filename could be changed (or not)
96 *
97 * @param session
98 *
99 * @throws OpenR66RunnerErrorException
100 */
101 void checkAtChangeFilename(R66Session session)
102 throws OpenR66RunnerErrorException;
103
104 /**
105 * Called when the session is to be closed in order to release resources
106 *
107 * @param session
108 */
109 void releaseResources(R66Session session);
110
111 /**
112 * Called to get the current extra "Information" from Business side to
113 * transmit, valid in extended protocol (>
114 * 2.4)
115 *
116 * @param session
117 *
118 * @return the current "session" info
119 */
120 String getInfo(R66Session session);
121
122 /**
123 * Set optional info to be set within extra information of PacketValid as
124 * "Info" or R66Result as "Other",
125 * valid in extended protocol (> 2.4)
126 *
127 * @param session
128 * @param info
129 */
130 void setInfo(R66Session session, String info);
131
132 }