]> SALOME platform Git repositories - tools/siman.git/blob - Workspace/Siman-Common/src/org/splat/service/technical/StepsConfigServiceImpl.java
Salome HOME
ProjectSettings are now configured when the bean is created (without call to a struts...
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / service / technical / StepsConfigServiceImpl.java
1 /*****************************************************************************
2  * Company         OPEN CASCADE
3  * Application     SIMAN
4  * File            $Id$ 
5  * Creation date   12.03.2013
6  * @author         $Author$
7  * @version        $Revision$
8  * @copyright      OPEN CASCADE 2012
9  *****************************************************************************/
10
11 package org.splat.service.technical;
12
13 import java.util.ArrayList;
14 import java.util.List;
15
16 import org.splat.dal.bo.som.ProjectElement;
17
18 /**
19  * Study steps configuration service.
20  * 
21  * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
22  */
23 public class StepsConfigServiceImpl implements StepsConfigService {
24
25         /**
26          * Ordered list of (transient) study steps.
27          */
28         private transient final List<ProjectSettingsService.Step> _steps = new ArrayList<ProjectSettingsService.Step>();
29
30         /**
31          * Get steps of the given project element (study or scenario).
32          * 
33          * @param level
34          *            the project element (study or scenario)
35          * @return the list of steps
36          */
37         public List<ProjectSettingsService.Step> getStepsOf(
38                         final Class<? extends ProjectElement> level) {
39                 List<ProjectSettingsService.Step> result = new ArrayList<ProjectSettingsService.Step>();
40
41                 for (int i = 0; i < _steps.size(); i++) {
42                         ProjectSettingsService.Step step = _steps.get(i);
43                         if (step.appliesTo(level)) {
44                                 result.add(step);
45                         }
46                 }
47                 return result;
48         }
49
50         /**
51          * Get the steps.
52          * 
53          * @return the steps
54          */
55         public List<ProjectSettingsService.Step> getSteps() {
56                 return _steps;
57         }
58
59 }