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.common.UuidAndTitleCache;\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
*/\r
public interface IReferenceDao extends IIdentifiableDao<Reference>, ITitledDao<Reference> {\r
\r
/**\r
* searches for taxa using the following relations:\r
* <ul>\r
- * <li>taxon.name.nomenclaturalreference</li>\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
*/\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