View Javadoc
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 }