1 /*****************************************************************************
5 * Creation date 07.10.2012
8 *****************************************************************************/
10 package org.splat.service;
12 import org.splat.dal.bo.som.ProjectElement;
13 import org.splat.som.Step;
16 * Project element service interface.
21 public interface ProjectElementService {
24 * Get the first activity of the project element.
27 * a study or a scenario
28 * @return the first activity (step) of the project element
30 Step getFirstStep(ProjectElement elem);
33 * Get activities of the project element.
36 * a study or a scenario
37 * @return array of activities (steps).
39 Step[] getSteps(ProjectElement elem);
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.
47 * the project element to refresh
49 void refresh(ProjectElement elem);