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