2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.persistence
.dao
.description
;
12 import java
.util
.List
;
14 import org
.springframework
.dao
.DataAccessException
;
16 import eu
.etaxonomy
.cdm
.model
.description
.IIdentificationKey
;
17 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
20 * A read-only interface to allow querying across all IIdentificationKey instances, regardless of type
23 * @created 21-Dec-2009 13:48:10
25 public interface IIdentificationKeyDao
{
29 * Returns a sublist of IIdentificationKey instances stored in the database. A maximum
30 * of 'limit' objects are returned, starting at object with index 'start'.
34 * the maximum number of entities returned (can be null to return
38 * @throws DataAccessException
40 public List
<IIdentificationKey
> list(Integer limit
, Integer start
, List
<String
> propertyPaths
);
43 * Returns the number of objects of type IIdentificationKey
49 * Finds IdentificationKeys which cover the Taxon given as parameter
52 * The Taxon to search IdentificationKeys for
54 * may restrict the type to a specific implementation of
57 * The maximum number of objects returned (can be null for all
60 * The offset (in pageSize chunks) from the start of the result
61 * set (0 - based, can be null, equivalent of starting at the
62 * beginning of the recordset)
63 * @param propertyPaths
64 * properties to be initialized
65 * @return a List of IdentificationKeys
67 public <T
extends IIdentificationKey
> List
<T
> findByTaxonomicScope(
68 TaxonBase taxon
, Class
<T
> type
, Integer pageSize
,
69 Integer pageNumber
, List
<String
> propertyPaths
);
72 * Counts IdentificationKeys which cover the Taxon given as parameter
74 * @param taxon The Taxon to search IdentificationKeys for
75 * @param type may restrict the type to a specific implementation of
79 public <T
extends IIdentificationKey
> Long
countByTaxonomicScope(TaxonBase taxon
, Class
<T
> type
);