1 /*****************************************************************************
5 * Creation date 19.10.2012
8 * @copyright OPEN CASCADE 2012
9 *****************************************************************************/
11 package org.splat.service;
13 import java.util.List;
15 import org.splat.dal.bo.som.KnowledgeElementType;
16 import org.splat.dal.bo.som.ProgressState;
19 * The service interface for working with knowledge element types.
21 * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
23 public interface KnowledgeElementTypeService {
26 * Find a knowledge type by its name.
29 * the knowledge type name
30 * @return the found knowledge type
32 KnowledgeElementType selectType(String name);
35 * Create a knowledge element type with the given name.
39 * @return the created knowledge type
41 KnowledgeElementType createType(String name);
44 * Get all knowledge types from the database.
46 * @return the list of all knowledge types
48 List<KnowledgeElementType> selectAllTypes();
51 * Get knowledge types which have the given progress state.
55 * @return the list of found knowledge types
57 List<KnowledgeElementType> selectTypesWhere(ProgressState state);
60 * Get a knowledge type by its id.
63 * the id of a knowledge type
64 * @return the found knowledge type
66 KnowledgeElementType selectType(long index);
69 * Approve the knowledge type.
72 * the knowledge type to approve
73 * @return true if approval succeeded
75 boolean approve(KnowledgeElementType kelt);
78 * Reserves this type for the management of simulation contexts. For being able to get the studies in which simulation contexts are
79 * used, all study scenarios are indexed through this knowledge element type, whether they include knowledge elements or not.
82 * the knowledge type to approve
83 * @return true if approval succeeded
85 boolean reserve(KnowledgeElementType kelt);