-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy\r
-* http://www.e-taxonomy.eu\r
-*\r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-package eu.etaxonomy.cdm.persistence.dao.reference;\r
-\r
-import java.util.List;\r
-import java.util.Set;\r
-import java.util.UUID;\r
-\r
-import org.hibernate.criterion.Criterion;\r
-\r
-import eu.etaxonomy.cdm.model.reference.Reference;\r
-import eu.etaxonomy.cdm.model.reference.ReferenceType;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
-import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;\r
-import eu.etaxonomy.cdm.persistence.dao.common.ITitledDao;\r
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
-import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
-import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
-\r
-/**\r
- * @author a.mueller\r
- */\r
-public interface IReferenceDao extends IIdentifiableDao<Reference>, ITitledDao<Reference> {\r
-\r
- public List<UuidAndTitleCache<Reference>> getUuidAndTitle();\r
-\r
- /**\r
- * TODO candidate for harmonization: rename to listAllReferencesForPublishing\r
- * @return all references marked with publish-flag\r
- */\r
- public List<Reference> getAllReferencesForPublishing();\r
-\r
- /**\r
- * TODO candidate for harmonization: rename to listAllNotNomenclaturalReferencesForPublishing\r
- * @return all references not used as nomenclatural reference with publish flag\r
- */\r
- public List<Reference> getAllNotNomenclaturalReferencesForPublishing();\r
-\r
- /**\r
- * TODO candidate for harmonization: rename to listNomenclaturalReferences\r
- * @return\r
- */\r
- public List<Reference> getAllNomenclaturalReferences();\r
-\r
- /**\r
- * recursively finds all references where the <code>referenceBase</code> given as parameter\r
- * is the {@link Reference.getInReference inReference}.\r
- * @param reference\r
- * @return\r
- */\r
- public List<Reference> getSubordinateReferences(Reference reference);\r
-\r
- /**\r
- * searches for taxa using the following relations:\r
- * <ul>\r
- * <li>taxon.name.nomenclaturalSource.citation</li>\r
- * <li>taxon.descriptions.descriptionElement.sources.citation</li>\r
- * <li>taxon.descriptions.descriptionSources</li>\r
- * <li>taxon.name.descriptions.descriptionElement.sources</li>\r
- * <li>taxon.name.descriptions.descriptionSources</li>\r
- * </ul>\r
- *\r
- * @param reference\r
- * @param orderHints TODO\r
- * @param propertyPaths TODO\r
- * @return\r
- */\r
- public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<OrderHint> orderHints, List<String> propertyPaths);\r
-\r
- /**\r
- * @param limit\r
- * @param pattern\r
- * @param refType\r
- * @return\r
- */\r
- List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCache(Integer limit, String pattern, ReferenceType refType);\r
-\r
- /**\r
- * @param limit\r
- * @param pattern\r
- * @param refType\r
- * @return\r
- */\r
- List<UuidAndTitleCache<Reference>> getUuidAndTitleCache(Integer limit, String pattern, ReferenceType refType);\r
-\r
- /**\r
- * @param identifier\r
- * @param identifierType\r
- * @param matchmode\r
- * @param limit\r
- * @return\r
- */\r
- List<Object[]> findByIdentifierAbbrev(String identifier, DefinedTermBase identifierType, MatchMode matchmode,\r
- Integer limit);\r
-\r
- /**\r
- * @param limit\r
- * @param pattern\r
- * @param refType\r
- * @return\r
- */\r
- List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCacheForAuthor(Integer limit, String pattern,\r
- ReferenceType refType);\r
-\r
- /**\r
- * @param uuids\r
- * @return\r
- */\r
- List<UuidAndTitleCache<Reference>> getUuidAndTitle(Set<UUID> uuids);\r
-\r
- /**\r
- * @param uuids\r
- * @param refType\r
- * @return\r
- */\r
- List<UuidAndTitleCache<Reference>> getUuidAndTitle(Set<UUID> uuids, ReferenceType refType);\r
-\r
- /**\r
- * @param clazz\r
- * @param queryString\r
- * @param matchmode\r
- * @param criterion\r
- * @param pageSize\r
- * @param pageNumber\r
- * @param orderHints\r
- * @param propertyPaths\r
- * @return\r
- */\r
- List<Reference> findByTitleAndAbbrevTitle(Class clazz, String queryString, MatchMode matchmode,\r
- List<Criterion> criterion, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,\r
- List<String> propertyPaths);\r
-\r
- List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCacheForAuthorID(Integer limit, Integer authorID,\r
- ReferenceType refType);\r
-\r
- /**\r
- * @param uuids\r
- * @param refType\r
- * @return\r
- */\r
- List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitle(Set<UUID> uuids, ReferenceType refType);\r
-\r
- /**\r
- * @param uuids\r
- * @return\r
- */\r
- List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitle(Set<UUID> uuids);\r
-\r
-\r
-}\r
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.persistence.dao.reference;
+
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+
+import org.hibernate.criterion.Criterion;
+
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.model.reference.ReferenceType;
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;
+import eu.etaxonomy.cdm.persistence.dao.common.ITitledDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
+import eu.etaxonomy.cdm.persistence.query.MatchMode;
+import eu.etaxonomy.cdm.persistence.query.OrderHint;
+
+/**
+ * @author a.mueller
+ */
+public interface IReferenceDao extends IIdentifiableDao<Reference>, ITitledDao<Reference> {
+
+ public List<UuidAndTitleCache<Reference>> getUuidAndTitle();
+
+ /**
+ * TODO candidate for harmonization: rename to listAllReferencesForPublishing
+ * @return all references marked with publish-flag
+ */
+ public List<Reference> getAllReferencesForPublishing();
+
+ /**
+ * TODO candidate for harmonization: rename to listAllNotNomenclaturalReferencesForPublishing
+ * @return all references not used as nomenclatural reference with publish flag
+ */
+ public List<Reference> getAllNotNomenclaturalReferencesForPublishing();
+
+ /**
+ * TODO candidate for harmonization: rename to listNomenclaturalReferences
+ * @return
+ */
+ public List<Reference> getAllNomenclaturalReferences();
+
+ /**
+ * recursively finds all references where the <code>referenceBase</code> given as parameter
+ * is the {@link Reference.getInReference inReference}.
+ * @param reference
+ * @return
+ */
+ public List<Reference> getSubordinateReferences(Reference reference);
+
+ /**
+ * searches for taxa using the following relations:
+ * <ul>
+ * <li>taxon.name.nomenclaturalSource.citation</li>
+ * <li>taxon.descriptions.descriptionElement.sources.citation</li>
+ * <li>taxon.descriptions.descriptionSources</li>
+ * <li>taxon.name.descriptions.descriptionElement.sources</li>
+ * <li>taxon.name.descriptions.descriptionSources</li>
+ * </ul>
+ *
+ * @param reference
+ * @param orderHints TODO
+ * @param propertyPaths TODO
+ * @return
+ */
+ public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<OrderHint> orderHints, List<String> propertyPaths);
+
+ /**
+ * @param limit
+ * @param pattern
+ * @param refType
+ * @return
+ */
+ List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCache(Integer limit, String pattern, ReferenceType refType);
+
+ /**
+ * @param limit
+ * @param pattern
+ * @param refType
+ * @return
+ */
+ List<UuidAndTitleCache<Reference>> getUuidAndTitleCache(Integer limit, String pattern, ReferenceType refType);
+
+ /**
+ * @param identifier
+ * @param identifierType
+ * @param matchmode
+ * @param limit
+ * @return
+ */
+ List<Object[]> findByIdentifierAbbrev(String identifier, DefinedTermBase identifierType, MatchMode matchmode,
+ Integer limit);
+
+ /**
+ * @param limit
+ * @param pattern
+ * @param refType
+ * @return
+ */
+ List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCacheForAuthor(Integer limit, String pattern,
+ ReferenceType refType);
+
+ /**
+ * @param uuids
+ * @return
+ */
+ List<UuidAndTitleCache<Reference>> getUuidAndTitle(Set<UUID> uuids);
+
+ /**
+ * @param uuids
+ * @param refType
+ * @return
+ */
+ List<UuidAndTitleCache<Reference>> getUuidAndTitle(Set<UUID> uuids, ReferenceType refType);
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param matchmode
+ * @param criterion
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ */
+ List<Reference> findByTitleAndAbbrevTitle(Class clazz, String queryString, MatchMode matchmode,
+ List<Criterion> criterion, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,
+ List<String> propertyPaths);
+
+ List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCacheForAuthorID(Integer limit, Integer authorID,
+ ReferenceType refType);
+
+ /**
+ * @param uuids
+ * @param refType
+ * @return
+ */
+ List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitle(Set<UUID> uuids, ReferenceType refType);
+
+ /**
+ * @param uuids
+ * @return
+ */
+ List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitle(Set<UUID> uuids);
+
+
+}