moving UuidAndTitleCache from model to persistence. #4799
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / IWorkingSetService.java
1 package eu.etaxonomy.cdm.api.service;
2
3 import java.util.List;
4 import java.util.Map;
5 import java.util.Set;
6 import java.util.UUID;
7
8 import eu.etaxonomy.cdm.model.description.DescriptionBase;
9 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
10 import eu.etaxonomy.cdm.model.description.DescriptiveSystemRole;
11 import eu.etaxonomy.cdm.model.description.Feature;
12 import eu.etaxonomy.cdm.model.description.WorkingSet;
13 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
14
15
16 public interface IWorkingSetService extends IAnnotatableService<WorkingSet> {
17 /**
18 * Returns a Map of descriptions each with the descriptionelements that match the supplied features (or all description elements if no features are supplied)
19 *
20 * @param workingSet the working set which the descriptions belong to
21 * @param features restrict the returned description elements to those which have features in this set
22 * @param pageSize The maximum number of descriptions returned (can be null for all descriptions that belong to the working set)
23 * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based,
24 * can be null, equivalent of starting at the beginning of the recordset). Descriptions are sorted by titleCache
25 * @param propertyPaths properties to be initialized (applied to the descriptionElements)
26 * @return
27 */
28 public Map<DescriptionBase, Set<DescriptionElementBase>> getDescriptionElements(WorkingSet workingSet, Set<Feature> features, Integer pageSize, Integer pageNumber, List<String> propertyPaths);
29
30 public <T extends DescriptionElementBase> Map<UuidAndTitleCache, Map<UUID, Set<T>>> getTaxonFeatureDescriptionElementMap(Class<T> clazz, UUID workingSetUuid, DescriptiveSystemRole role);
31
32
33
34 }