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;
14 import org.springframework.transaction.annotation.Transactional;
17 * Project element service interface.
22 public interface ProjectElementService {
25 * Get the first activity of the project element.
28 * a study or a scenario
29 * @return the first activity (step) of the project element
31 public Step getFirstStep(ProjectElement elem);
34 * Get activities of the project element.
37 * a study or a scenario
38 * @return array of activities (steps).
40 public Step[] getSteps(ProjectElement elem);
43 * Refreshes the internal data potentially out-of-date. This function needs to be called when Publication objects are added to this
44 * Project Element before being saved. The reason is, as saving a persistent object changes its hashcode, hashed data need to be rebuilt
45 * after saving for making functions based on this hashcode such as remove(), working.
48 * the project element to refresh
50 public void refresh(ProjectElement elem);