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 fr.ifremer.quadrige3.core.dao.technical.Assert; 27 28 import java.io.File; 29 import java.io.Serializable; 30 31 /** 32 * <p> 33 * SynchroProgressionVO class. 34 * </p> 35 * 36 * @author Benoit Lavenier <benoit.lavenier@e-is.pro> 37 * @since 3.7.0 38 */ 39 public class SynchroProgressionVO implements Serializable { 40 41 private static final long serialVersionUID = 64396395159800607L; 42 43 private final String jobId; 44 private final int increment; 45 private final String message; 46 private final String status; 47 private String fileName; 48 49 /** 50 * <p> 51 * Constructor for SynchroProgressionVO. 52 * </p> 53 * 54 * @param jobId 55 * a {@link java.lang.String} object. 56 * @param fileName 57 * a {@link java.lang.String} object. 58 * @param progressionModel 59 * a {@link fr.ifremer.quadrige3.synchro.vo.SynchroProgressionModel} object. 60 */ 61 public SynchroProgressionVO(String jobId, String fileName, SynchroProgressionModel progressionModel) { 62 Assert.notNull(jobId); 63 Assert.notNull(fileName); 64 Assert.notNull(progressionModel); 65 this.jobId = jobId; 66 this.fileName = fileName; 67 this.increment = progressionModel.getCurrent(); 68 this.message = progressionModel.getMessage(); 69 this.status = progressionModel.getStatus().toString(); 70 } 71 72 /** 73 * <p> 74 * Constructor for SynchroProgressionVO. 75 * </p> 76 * 77 * @param jobId 78 * a {@link java.lang.String} object. 79 * @param outputFile 80 * a {@link java.io.File} object. 81 * @param progressionModel 82 * a {@link fr.ifremer.quadrige3.synchro.vo.SynchroProgressionModel} object. 83 */ 84 public SynchroProgressionVO(String jobId, File outputFile, SynchroProgressionModel progressionModel) { 85 Assert.notNull(jobId); 86 Assert.notNull(outputFile); 87 Assert.notNull(progressionModel); 88 this.jobId = jobId; 89 this.fileName = outputFile.getName(); 90 this.increment = progressionModel.getCurrent(); 91 this.message = progressionModel.getMessage(); 92 this.status = progressionModel.getStatus().toString(); 93 } 94 95 /** 96 * <p> 97 * Getter for the field <code>increment</code>. 98 * </p> 99 * 100 * @return a int. 101 */ 102 public int getIncrement() { 103 return increment; 104 } 105 106 /** 107 * <p> 108 * Getter for the field <code>jobId</code>. 109 * </p> 110 * 111 * @return a {@link java.lang.String} object. 112 */ 113 public String getJobId() { 114 return jobId; 115 } 116 117 /** 118 * <p> 119 * Getter for the field <code>message</code>. 120 * </p> 121 * 122 * @return a {@link java.lang.String} object. 123 */ 124 public String getMessage() { 125 return message; 126 } 127 128 /** 129 * <p> 130 * Getter for the field <code>status</code>. 131 * </p> 132 * 133 * @return a {@link java.lang.String} object. 134 */ 135 public String getStatus() { 136 return status; 137 } 138 139 /** 140 * <p> 141 * Getter for the field <code>fileName</code>. 142 * </p> 143 * 144 * @return a {@link java.lang.String} object. 145 */ 146 public String getFileName() { 147 return fileName; 148 } 149 150 /** 151 * <p> 152 * Setter for the field <code>fileName</code>. 153 * </p> 154 * 155 * @param fileName 156 * a {@link java.lang.String} object. 157 */ 158 public void setFileName(String fileName) { 159 this.fileName = fileName; 160 } 161 162 }