1 package eu
.etaxonomy
.cdm
.api
.service
;
3 import java
.util
.ArrayList
;
6 import eu
.etaxonomy
.cdm
.api
.service
.pager
.Pager
;
7 import eu
.etaxonomy
.cdm
.api
.service
.pager
.impl
.DefaultPagerImpl
;
8 import eu
.etaxonomy
.cdm
.model
.common
.AnnotatableEntity
;
9 import eu
.etaxonomy
.cdm
.model
.common
.Annotation
;
10 import eu
.etaxonomy
.cdm
.model
.common
.MarkerType
;
11 import eu
.etaxonomy
.cdm
.persistence
.dao
.common
.IAnnotatableDao
;
13 public abstract class AnnotatableServiceBase
<T
extends AnnotatableEntity
,DAO
extends IAnnotatableDao
<T
>> extends VersionableServiceBase
<T
, DAO
>
14 implements IAnnotatableService
<T
> {
16 public Pager
<Annotation
> getAnnotations(T annotatedObj
, MarkerType status
, Integer pageSize
, Integer pageNumber
) {
17 Integer numberOfResults
= dao
.countAnnotations(annotatedObj
, status
);
19 List
<Annotation
> results
= new ArrayList
<Annotation
>();
20 if(numberOfResults
> 0) { // no point checking again
21 results
= dao
.getAnnotations(annotatedObj
, status
, pageSize
, pageNumber
);
24 return new DefaultPagerImpl
<Annotation
>(pageNumber
, numberOfResults
, pageSize
, results
);