1 package fr.ifremer.quadrige3.synchro.vo;
2
3 /*-
4 * #%L
5 * Quadrige3 Core :: Quadrige3 Synchro 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 java.beans.PropertyChangeListener;
27 import java.io.Serializable;
28
29 /**
30 * <p>
31 * SynchroProgressionModel interface.
32 * </p>
33 *
34 * TODO pass current and increment to long ?
35 *
36 * @author Ludovic Pecquot <ludovic.pecquot@e-is.pro>
37 * @since 1.0
38 */
39 public interface SynchroProgressionModel extends Serializable {
40
41 /** Constant <code>PROPERTY_CURRENT="current"</code> */
42 String PROPERTY_CURRENT = "current";
43
44 /** Constant <code>PROPERTY_STATUS="status"</code> */
45 String PROPERTY_STATUS = "status";
46
47 /** Constant <code>PROPERTY_MESSAGE="message"</code> */
48 String PROPERTY_MESSAGE = "message";
49
50 /** Constant <code>PROPERTY_TASK="task"</code> */
51 String PROPERTY_TASK = "task";
52
53 /**
54 * <p>
55 * getMessage.
56 * </p>
57 *
58 * @return a {@link java.lang.String} object.
59 */
60 String getMessage();
61
62 /**
63 * <p>
64 * setTask.
65 * </p>
66 *
67 * @param task
68 * a {@link java.lang.String} object.
69 */
70 void setTask(String task);
71
72 /**
73 * <p>
74 * getTask.
75 * </p>
76 *
77 * @return a {@link java.lang.String} object.
78 */
79 String getTask();
80
81 /**
82 * <p>
83 * setMessage.
84 * </p>
85 *
86 * @param message
87 * a {@link java.lang.String} object.
88 */
89 void setMessage(String message);
90
91 /**
92 * <p>
93 * getCurrent.
94 * </p>
95 *
96 * @return a int.
97 */
98 int getCurrent();
99
100 /**
101 * <p>
102 * setCurrent.
103 * </p>
104 *
105 * @param progression
106 * a int.
107 */
108 void setCurrent(int progression);
109
110 /**
111 * <p>
112 * increments.
113 * </p>
114 *
115 * @param increment
116 * a int.
117 */
118 void increments(int increment);
119
120 /**
121 * <p>
122 * increments.
123 * </p>
124 *
125 * @param message
126 * a {@link java.lang.String} object.
127 */
128 void increments(String message);
129
130 /**
131 * <p>
132 * getStatus.
133 * </p>
134 *
135 * @return a {@link fr.ifremer.quadrige3.synchro.vo.SynchroProgressionStatus} object.
136 */
137 SynchroProgressionStatus getStatus();
138
139 /**
140 * <p>
141 * setStatus.
142 * </p>
143 *
144 * @param progressionStatus
145 * a {@link fr.ifremer.quadrige3.synchro.vo.SynchroProgressionStatus} object.
146 */
147 void setStatus(SynchroProgressionStatus progressionStatus);
148
149 /**
150 * <p>
151 * addPropertyChangeListener.
152 * </p>
153 *
154 * @param propertyName
155 * a {@link java.lang.String} object.
156 * @param listener
157 * a {@link java.beans.PropertyChangeListener} object.
158 */
159 void addPropertyChangeListener(String propertyName, PropertyChangeListener listener);
160
161 /**
162 * <p>
163 * addPropertyChangeListener.
164 * </p>
165 *
166 * @param listener
167 * a {@link java.beans.PropertyChangeListener} object.
168 */
169 void addPropertyChangeListener(PropertyChangeListener listener);
170
171 /**
172 * <p>
173 * removePropertyChangeListener.
174 * </p>
175 *
176 * @param listener
177 * a {@link java.beans.PropertyChangeListener} object.
178 */
179 void removePropertyChangeListener(PropertyChangeListener listener);
180 }