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.
9 package eu
.etaxonomy
.cdm
.persistence
.dao
.reference
;
11 import java
.util
.List
;
13 import java
.util
.UUID
;
15 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
16 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceType
;
17 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
18 import eu
.etaxonomy
.cdm
.model
.term
.DefinedTermBase
;
19 import eu
.etaxonomy
.cdm
.persistence
.dao
.common
.IIdentifiableDao
;
20 import eu
.etaxonomy
.cdm
.persistence
.dao
.common
.ITitledDao
;
21 import eu
.etaxonomy
.cdm
.persistence
.dto
.UuidAndTitleCache
;
22 import eu
.etaxonomy
.cdm
.persistence
.query
.MatchMode
;
23 import eu
.etaxonomy
.cdm
.persistence
.query
.OrderHint
;
29 public interface IReferenceDao
extends IIdentifiableDao
<Reference
>, ITitledDao
<Reference
> {
31 public List
<UuidAndTitleCache
<Reference
>> getUuidAndTitle();
34 * TODO candidate for harmonization: rename to listAllReferencesForPublishing
35 * @return all references marked with publish-flag
37 public List
<Reference
> getAllReferencesForPublishing();
40 * TODO candidate for harmonization: rename to listAllNotNomenclaturalReferencesForPublishing
41 * @return all references not used as nomenclatural reference with publish flag
43 public List
<Reference
> getAllNotNomenclaturalReferencesForPublishing();
46 * TODO candidate for harmonization: rename to listNomenclaturalReferences
49 public List
<Reference
> getAllNomenclaturalReferences();
52 * recursively finds all references where the <code>referenceBase</code> given as parameter
53 * is the {@link Reference.getInReference inReference}.
57 public List
<Reference
> getSubordinateReferences(Reference reference
);
60 * searches for taxa using the following relations:
62 * <li>taxon.name.nomenclaturalreference</li>
63 * <li>taxon.descriptions.descriptionElement.sources.citation</li>
64 * <li>taxon.descriptions.descriptionSources</li>
65 * <li>taxon.name.descriptions.descriptionElement.sources</li>
66 * <li>taxon.name.descriptions.descriptionSources</li>
70 * @param orderHints TODO
71 * @param propertyPaths TODO
74 public List
<TaxonBase
> listCoveredTaxa(Reference reference
, boolean includeSubordinateReferences
, List
<OrderHint
> orderHints
, List
<String
> propertyPaths
);
82 List
<UuidAndTitleCache
<Reference
>> getUuidAndAbbrevTitleCache(Integer limit
, String pattern
, ReferenceType refType
);
90 List
<UuidAndTitleCache
<Reference
>> getUuidAndTitleCache(Integer limit
, String pattern
, ReferenceType refType
);
94 * @param identifierType
99 List
<Object
[]> findByIdentifierAbbrev(String identifier
, DefinedTermBase identifierType
, MatchMode matchmode
,
108 List
<UuidAndTitleCache
<Reference
>> getUuidAndAbbrevTitleCacheForAuthor(Integer limit
, String pattern
,
109 ReferenceType refType
);
115 List
<UuidAndTitleCache
<Reference
>> getUuidAndTitle(Set
<UUID
> uuids
);
122 List
<UuidAndTitleCache
<Reference
>> getUuidAndTitle(Set
<UUID
> uuids
, ReferenceType refType
);