import org.splat.som.Step;
/**
- * @author RKV
- *
+ * Scenario service interface.
+ * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
*/
public interface ScenarioService {
+ /**
+ * Add a new knowledge element to the scenario.
+ *
+ * @param aScenario
+ * the scenario
+ * @param kprop
+ * knowledge element properties
+ * @return the created knowledge element
+ * @throws MissedPropertyException
+ * if a mandatory property is missed
+ * @throws InvalidPropertyException
+ * if some property doesn't exist
+ * @throws MultiplyDefinedException
+ * if some property is defined several times
+ */
public KnowledgeElement addKnowledgeElement(Scenario aScenario,
KnowledgeElement.Properties kprop) throws MissedPropertyException,
InvalidPropertyException, MultiplyDefinedException;
+ /**
+ * Check in the scenario.
+ *
+ * @param aScenario
+ * the scenario to check in
+ */
public void checkin(Scenario aScenario);
+ /**
+ * Copy contents from other scenario up to its given step into the given scenario.
+ *
+ * @param scenario
+ * the target scenario
+ * @param lastep
+ * the last processed step of the source scenario
+ */
public void copyContentsUpTo(Scenario scenario, Step lastep);
+ /**
+ * Check if the scenario is empty, i.d. no one of its steps doesn't contain any knowledge elements or documents.
+ *
+ * @param scenario
+ * the scenario to check
+ * @return true if the scenario is empty
+ */
public boolean isEmpty(Scenario scenario);
}