1 package net.sumaris.core.service.referential;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import net.sumaris.core.dao.technical.SortDirection;
26 import net.sumaris.core.model.referential.IItemReferentialEntity;
27 import net.sumaris.core.vo.filter.ReferentialFilterVO;
28 import net.sumaris.core.vo.referential.ReferentialTypeVO;
29 import net.sumaris.core.vo.referential.ReferentialVO;
30 import org.springframework.transaction.annotation.Transactional;
31
32 import java.io.PrintStream;
33 import java.util.List;
34
35 @Transactional
36 public interface ReferentialService {
37
38 @Transactional(readOnly = true)
39 List<ReferentialTypeVO> getAllTypes();
40
41 @Transactional(readOnly = true)
42 List<ReferentialVO> findByFilter(String entityName, ReferentialFilterVO filter, int offset, int size);
43
44 @Transactional(readOnly = true)
45 List<ReferentialVO> findByFilter(String entityName, ReferentialFilterVO filter, int offset, int size, String sortAttribute, SortDirection sortDirection);
46
47 @Transactional(readOnly = true)
48 ReferentialVO findByUniqueLabel(String entityName, String label);
49
50 @Transactional(readOnly = true)
51 Integer getIdByUniqueLabel(Class<? extends IItemReferentialEntity> entityClass, String label);
52
53 @Transactional(readOnly = true)
54 List<ReferentialVO> getAllLevels(String entityName);
55
56 @Transactional(readOnly = true)
57 ReferentialVO getLevelById(String entityName, int levelId);
58
59 ReferentialVO/../../../../net/sumaris/core/vo/referential/ReferentialVO.html#ReferentialVO">ReferentialVO save(ReferentialVO source);
60
61 List<ReferentialVO> save(List<ReferentialVO> beans);
62
63 void delete(String entityName, int id);
64
65 void delete(String entityName, List<Integer> ids);
66
67 @Transactional(readOnly = true)
68 Long count(String entityName);
69
70 @Transactional(readOnly = true)
71 Long countByLevelId(String entityName, Integer... levelIds);
72
73
74 }