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 }