Salome HOME
Processing instruction is defined now in getScenarioInfo using document types mappings.
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / service / ProjectElementService.java
1 /*****************************************************************************
2  * Company         OPEN CASCADE
3  * Application     SIMAN
4  * File            $Id$ 
5  * Creation date   07.10.2012
6  * @author         $Author$
7  * @version        $Revision$
8  *****************************************************************************/
9
10 package org.splat.service;
11
12 import org.splat.dal.bo.som.ProjectElement;
13 import org.splat.som.Step;
14
15 /**
16  * Project element service interface.
17  * 
18  * @author RKV
19  * 
20  */
21 public interface ProjectElementService {
22
23         /**
24          * Get the first activity of the project element.
25          * 
26          * @param elem
27          *            a study or a scenario
28          * @return the first activity (step) of the project element
29          */
30         Step getFirstStep(ProjectElement elem);
31
32         /**
33          * Get activities of the project element.
34          * 
35          * @param elem
36          *            a study or a scenario
37          * @return array of activities (steps).
38          */
39         Step[] getSteps(ProjectElement elem);
40
41         /**
42          * Refreshes the internal data potentially out-of-date. This function needs to be called when Publication objects are added to this
43          * Project Element before being saved. The reason is, as saving a persistent object changes its hashcode, hashed data need to be rebuilt
44          * after saving for making functions based on this hashcode such as remove(), working.
45          * 
46          * @param elem
47          *            the project element to refresh
48          */
49         void refresh(ProjectElement elem);
50 }