Project

General

Profile

Download (3.25 KB) Statistics
| Branch: | Tag: | Revision:
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
package eu.etaxonomy.cdm.persistence.dao.reference;
10

    
11
import java.util.List;
12

    
13
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
14
import eu.etaxonomy.cdm.model.reference.Reference;
15
import eu.etaxonomy.cdm.model.reference.ReferenceType;
16
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
17
import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;
18
import eu.etaxonomy.cdm.persistence.dao.common.ITitledDao;
19
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
20
import eu.etaxonomy.cdm.persistence.query.MatchMode;
21
import eu.etaxonomy.cdm.persistence.query.OrderHint;
22

    
23
/**
24
 * @author a.mueller
25
 *
26
 */
27
public interface IReferenceDao extends IIdentifiableDao<Reference>, ITitledDao<Reference> {
28

    
29
	public List<UuidAndTitleCache<Reference>> getUuidAndTitle();
30

    
31
	/**
32
	 * TODO candidate for harmonization: rename to listAllReferencesForPublishing
33
	 * @return all references marked with publish-flag
34
	 */
35
	public List<Reference> getAllReferencesForPublishing();
36

    
37
	/**
38
	 * TODO candidate for harmonization: rename to listAllNotNomenclaturalReferencesForPublishing
39
	 * @return all references not used as nomenclatural reference with publish flag
40
	 */
41
	public List<Reference> getAllNotNomenclaturalReferencesForPublishing();
42

    
43
	/**
44
	 * TODO candidate for harmonization: rename to listNomenclaturalReferences
45
	 * @return
46
	 */
47
	public List<Reference> getAllNomenclaturalReferences();
48

    
49
	/**
50
	 * recursively finds all references where the <code>referenceBase</code> given as parameter
51
	 * is the {@link Reference.getInReference inReference}.
52
	 * @param reference
53
	 * @return
54
	 */
55
	public List<Reference> getSubordinateReferences(Reference reference);
56

    
57
	/**
58
	 * searches for taxa using the following relations:
59
	 * <ul>
60
	 * <li>taxon.name.nomenclaturalreference</li>
61
	 * <li>taxon.descriptions.descriptionElement.sources.citation</li>
62
	 * <li>taxon.descriptions.descriptionSources</li>
63
	 * <li>taxon.name.descriptions.descriptionElement.sources</li>
64
	 * <li>taxon.name.descriptions.descriptionSources</li>
65
	 * </ul>
66
	 *
67
	 * @param reference
68
	 * @param orderHints TODO
69
	 * @param propertyPaths TODO
70
	 * @return
71
	 */
72
	public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<OrderHint> orderHints, List<String> propertyPaths);
73

    
74
	/**
75
     * @param limit
76
     * @param pattern
77
     * @param refType
78
     * @return
79
     */
80
    List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCache(Integer limit, String pattern, ReferenceType refType);
81

    
82
    /**
83
     * @param limit
84
     * @param pattern
85
     * @param refType
86
     * @return
87
     */
88
    List<UuidAndTitleCache<Reference>> getUuidAndTitleCache(Integer limit, String pattern, ReferenceType refType);
89

    
90
    /**
91
     * @param identifier
92
     * @param identifierType
93
     * @param matchmode
94
     * @param limit
95
     * @return
96
     */
97
    List<Object[]> findByIdentifierAbbrev(String identifier, DefinedTermBase identifierType, MatchMode matchmode,
98
            Integer limit);
99

    
100

    
101
}
    (1-1/1)