2 * Copyright (C) 2008 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
7 package eu
.etaxonomy
.cdm
.persistence
.dao
.occurrence
;
11 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
12 import eu
.etaxonomy
.cdm
.model
.occurrence
.DerivationEvent
;
13 import eu
.etaxonomy
.cdm
.model
.occurrence
.DeterminationEvent
;
14 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationBase
;
15 import eu
.etaxonomy
.cdm
.persistence
.dao
.BeanInitializer
;
16 import eu
.etaxonomy
.cdm
.persistence
.dao
.common
.IIdentifiableDao
;
19 * @author a.babadshanjan
22 public interface IOccurrenceDao
extends IIdentifiableDao
<SpecimenOrObservationBase
> {
25 * Returns a count of Media that are associated with a given occurence
27 * @param occurence the occurence associated with these media
28 * @return a count of media instances
30 public int countMedia(SpecimenOrObservationBase occurence
);
33 * Returns a List of Media that are associated with a given occurence
35 * @param occurence the occurence associated with these media
36 * @param pageSize The maximum number of media returned (can be null for all related media)
37 * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
38 * @param propertyPaths properties to initialize - see {@link BeanInitializer#initialize(Object, List)}
39 * @return a List of media instances
41 public List
<Media
> getMedia(SpecimenOrObservationBase occurence
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
);
44 * Returns a count of determinations that have been made for a given occurence
46 * @param occurence the occurence associated with these determinations
47 * @return a count of determination events
49 public int countDeterminations(SpecimenOrObservationBase occurence
);
52 * Returns a List of determinations that have been made for a given occurence
54 * @param occurence the occurence associated with these determinations
55 * @param pageSize The maximum number of determinations returned (can be null for all related determinations)
56 * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
57 * @return a List of determination instances
59 public List
<DeterminationEvent
> getDeterminations(SpecimenOrObservationBase occurence
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
);
62 * Returns a count of derivation events that have involved creating new DerivedUnits from this occurence
64 * @param occurence the occurence that was a source of these derivation events
65 * @return a count of derivation events
67 public int countDerivationEvents(SpecimenOrObservationBase occurence
);
70 * Returns a list of derivation events that have involved creating new DerivedUnits from this occurence
72 * @param occurence the occurence that was a source of these derivation events
73 * @param pageSize The maximum number of derivation events returned (can be null for all related derivation events)
74 * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
75 * @return a List of derivation events
77 public List
<DerivationEvent
> getDerivationEvents(SpecimenOrObservationBase occurence
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
);