package eu.etaxonomy.cdm.api.service;
import java.net.URI;
+import java.util.Collection;
import java.util.Enumeration;
import java.util.List;
import java.util.Locale;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.LanguageStringBase;
import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
import eu.etaxonomy.cdm.model.location.NamedAreaType;
* @param propertyPaths properties to initialize - see {@link IBeanInitializer#initialize(Object, List)}
* @return a Pager of DefinedTerms
*/
- public <T extends DefinedTermBase> Pager<T> getIncludes(Set<T> definedTerms, Integer pageSize, Integer pageNumber, List<String> propertyPaths);
+ public <T extends DefinedTermBase> Pager<T> getIncludes(Collection<T> definedTerms, Integer pageSize, Integer pageNumber, List<String> propertyPaths);
/**
* Return a paged list of terms which have representations that match the supplied string in the text (description)
*/
public <T extends DefinedTermBase> Pager<T> findByRepresentationAbbreviation(String abbrev, Class<T> clazz, Integer pageSize, Integer pageNumber);
-
/**
- *
- *
- *
- * @param <TERM>
- * @param clazz
+ * Retrieves all {@link DefinedTermBase}s with the given {@link TermType}
+ * @param termType the term type to filter the terms
* @param limit
* @param start
* @param orderHints
* @param propertyPaths
- * @return
- *
- * @deprecated candidate for harmonization!!! will be replaced by {@link IService#list(Class, Integer, Integer, List, List)}:
- * once it is refactored to <public <S extends T> List<T> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths);
+ * @return a list containing the terms
*/
- @Deprecated
- public <TERM extends DefinedTermBase> List<TERM> listByTermClass(Class<TERM> clazz, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths);
+ public List<DefinedTermBase<?>> listByTermType(TermType termType, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths);
/**
* Delete the given term according to the given delete configuration.
* @return DeleteResult which holds the status of the deletion.
*/
public DeleteResult delete(DefinedTermBase term, TermDeletionConfigurator config);
+
+ /**
+ * Returns the term with the given idInVocabulary for the given vocabulary.
+ * @param id idInVocabulary
+ * @param vocabularyUuid uuid of vocabulary
+ * @param clazz term clazz
+ * @param pageSize page size
+ * @param pageNumber page number
+ * @return the term
+ */
+ public <TERM extends DefinedTermBase> TERM getDefinedTermByIdInVocabulary(String id, UUID vocabularyUuid,
+ Class<TERM> clazz, Integer pageSize, Integer pageNumber);
}