View Javadoc
1   package fr.ifremer.tutti.service.report;
2   
3   /*
4    * #%L
5    * Tutti :: Service
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2012 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU General Public License as
13   * published by the Free Software Foundation, either version 3 of the
14   * License, or (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 General Public
22   * License along with this program.  If not, see
23   * <http://www.gnu.org/licenses/gpl-3.0.html>.
24   * #L%
25   */
26  
27  import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
28  
29  import java.io.File;
30  
31  /**
32   * Context of report generation.
33   *
34   * Created on 3/11/15.
35   *
36   * @author Tony Chemit - chemit@codelutin.com
37   * @since 3.13.2
38   */
39  public class ReportGenerationContext {
40  
41      /**
42       * Incoming report request.
43       */
44      protected final ReportGenerationRequest request;
45  
46      /**
47       * Selected fishing operation.
48       */
49      protected final FishingOperation fishingOperation;
50  
51      /**
52       * Where export is exploded.
53       */
54      protected final File exportDirectory;
55  
56      /**
57       * Where to generate report.
58       */
59      protected final File outputFile;
60  
61      public ReportGenerationContext(ReportGenerationRequest request,
62                                     FishingOperation fishingOperation,
63                                     File exportFileDirectory,
64                                     File outputFile) {
65          this.request = request;
66          this.fishingOperation = fishingOperation;
67          this.exportDirectory = exportFileDirectory;
68          this.outputFile = outputFile;
69      }
70  
71      public File getReport() {
72          return request.getReport();
73      }
74  
75      public File getExportDirectory() {
76          return exportDirectory;
77      }
78  
79      public FishingOperation getFishingOperation() {
80          return fishingOperation;
81      }
82  
83      public File getOutputFile() {
84          return outputFile;
85      }
86      
87      public ReportGenerationResult toResult() {
88          return new ReportGenerationResult(request, outputFile);
89      }
90  
91  }