* @see eu.etaxonomy.cdm.api.service.ITermService#listByTermType(eu.etaxonomy.cdm.model.common.TermType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
*/
@Override
- public List<DefinedTermBase<?>> listByTermType(TermType termType, Integer limit, Integer start,
+ public <TERM extends DefinedTermBase> List<TERM> listByTermType(TermType termType, Integer limit, Integer start,
List<OrderHint> orderHints, List<String> propertyPaths) {
return defaultService.listByTermType(termType, limit, start, orderHints, propertyPaths);
}
* @param clazz
* @return
*/
- public List<DefinedTermBase<?>> getPreferredTerms(TermType termType){
- return getFilteredTerms(TermStore.getTerms(termType, null));
+ public <T extends DefinedTermBase> List<T> getPreferredTerms(TermType termType){
+ return getFilteredTerms(TermStore.<T>getTerms(termType, null));
}
/**
* @param termType the term type
* @return an alphabetically sorted list of terms
*/
- public static List<DefinedTermBase<?>> getTerms(TermType termType, Comparator<DefinedTermBase<?>> comparator){
+ public static <TERM extends DefinedTermBase> List<TERM> getTerms(TermType termType, Comparator<TERM> comparator){
return getTermsFromService(termType, comparator);
}
* @param comparator
* @return
*/
- private static List<DefinedTermBase<?>> getTermsFromService(TermType termType, Comparator<DefinedTermBase<?>> comparator){
+ private static <T extends DefinedTermBase> List<T> getTermsFromService(TermType termType, Comparator<T> comparator){
if (comparator == null){
- comparator = new DefaultTermComparator<DefinedTermBase<?>>();
+ comparator = new DefaultTermComparator<T>();
}
- List<DefinedTermBase<?>> terms = CdmStore.getService(ITermService.class).listByTermType(termType, null, null, null, null);
+ List<T> terms = CdmStore.getService(ITermService.class).listByTermType(termType, null, null, null, null);
Collections.sort(terms, comparator);
return terms;
}