1 package net.sumaris.core.service.data;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import net.sumaris.core.dao.technical.SortDirection;
27 import net.sumaris.core.vo.data.VesselFeaturesVO;
28 import net.sumaris.core.vo.data.VesselSnapshotVO;
29 import net.sumaris.core.vo.data.VesselRegistrationVO;
30 import net.sumaris.core.vo.data.VesselVO;
31 import net.sumaris.core.vo.filter.VesselFilterVO;
32 import org.springframework.transaction.annotation.Transactional;
33
34 import java.util.Date;
35 import java.util.List;
36
37
38
39
40
41
42
43 @Transactional
44 public interface VesselService {
45
46 @Transactional(readOnly = true)
47 List<VesselSnapshotVO> findSnapshotByFilter(VesselFilterVO filter, int offset, int size, String sortAttribute, SortDirection sortDirection);
48
49 @Transactional(readOnly = true)
50 VesselSnapshotVO getSnapshotByIdAndDate(int vesselId, Date date);
51
52 @Transactional(readOnly = true)
53 List<VesselVO> findVesselsByFilter(VesselFilterVO filter, int offset, int size, String sortAttribute, SortDirection sortDirection);
54
55 @Transactional(readOnly = true)
56 Long countVesselsByFilter(VesselFilterVO filter);
57
58 @Transactional(readOnly = true)
59 VesselVO getVesselById(int vesselId);
60
61 @Transactional(readOnly = true)
62 List<VesselFeaturesVO> getFeaturesByVesselId(int vesselId, int offset, int size, String sortAttribute, SortDirection sortDirection);
63
64 @Transactional(readOnly = true)
65 List<VesselRegistrationVO> getRegistrationsByVesselId(int vesselId, int offset, int size, String sortAttribute, SortDirection sortDirection);
66
67 VesselVO save(VesselVO source);
68
69 VesselVO save(VesselVO source, boolean checkUpdateDate);
70
71 List<VesselVO> save(List<VesselVO> sources);
72
73 void delete(int id);
74
75 void delete(List<Integer> ids);
76
77 }