1 package net.sumaris.core.dao.administration.programStrategy;
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.cache.CacheNames;
26 import net.sumaris.core.model.administration.programStrategy.PmfmStrategy;
27 import net.sumaris.core.vo.administration.programStrategy.*;
28 import net.sumaris.core.vo.referential.ReferentialVO;
29 import org.springframework.cache.annotation.Cacheable;
30
31 import java.util.List;
32
33 public interface StrategyDao {
34
35 List<StrategyVO> findByProgram(int programId, StrategyFetchOptions fetchOptions);
36
37 @Cacheable(cacheNames = CacheNames.PMFM_BY_STRATEGY_ID, key = "#strategyId", unless = "#result == null")
38 List<PmfmStrategyVO> getPmfmStrategies(int strategyId);
39
40 List<PmfmStrategyVO> getPmfmStrategiesByAcquisitionLevel(int programId, int acquisitionLevelId);
41
42 List<ReferentialVO> getGears(int strategyId);
43
44 List<TaxonGroupStrategyVO> getTaxonGroupStrategies(int strategyId);
45
46 List<TaxonNameStrategyVO> getTaxonNameStrategies(int strategyId);
47
48 PmfmStrategyVO toPmfmStrategyVO(PmfmStrategy source, boolean copyPmfmValue);
49
50 List<StrategyVO> saveByProgramId(int programId, List<StrategyVO> sources);
51
52 StrategyVO"../../../../../../net/sumaris/core/vo/administration/programStrategy/StrategyVO.html#StrategyVO">StrategyVO save(StrategyVO source);
53
54 void delete(int id);
55
56 }