getAllReferences() returning Pager instance
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / IReferenceService.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.cdm.api.service;
11
12 import java.util.Collection;
13 import java.util.List;
14 import java.util.UUID;
15 import java.util.Map;
16
17 import eu.etaxonomy.cdm.api.service.pager.Pager;
18 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
19
20
21 public interface IReferenceService extends IIdentifiableEntityService<ReferenceBase> {
22
23 /**
24 * FIXME candidate for harmonization?
25 *
26 * Finds reference by UUID
27 */
28 public abstract ReferenceBase getReferenceByUuid(UUID uuid);
29
30 /**
31 * FIXME candidate for harmonization?
32 * Finds references by title
33 */
34 public List<ReferenceBase> getReferencesByTitle(String title);
35
36 /**
37 * FIXME candidate for harmonization?
38 * Finds references of a certain kind by title
39 */
40 public List<ReferenceBase> getReferencesByTitle(String title, Class<ReferenceBase> clazz);
41
42 /**
43 * FIXME candidate for harmonization?
44 * Gets all references
45 * @deprecated use {@link #getAllReferences(Integer, Integer) instead
46 */
47 @Deprecated
48 public abstract List<ReferenceBase> getAllReferences(int limit, int start);
49
50 /**
51 * Gets all references
52 * @param pageSize the maximum number of entities returned entries per page. Can be null to return all entities.
53 * @param pageNumber a numeric zero based page index
54 * @return a Pager instance
55 */
56 public abstract Pager<ReferenceBase> getAllReferences(Integer pageSize, Integer pageNumber);
57
58 // public abstract UUID saveReference(ReferenceBase reference);
59
60 /**
61 * FIXME candidate for harmonization?
62 * Saves a reference and return its UUID
63 */
64 public abstract UUID saveReference(ReferenceBase reference);
65
66 // public abstract Map<UUID, ReferenceBase> saveReferenceAll(Collection<ReferenceBase> referenceCollection);
67
68 /**
69 * FIXME candidate for harmonization?
70 * Saves a collection of references
71 */
72 public abstract Map<UUID, ReferenceBase> saveReferenceAll(Collection<ReferenceBase> referenceCollection);
73
74 }