package ro.nextreports.server.web.analysis.feature.filter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.injection.Injector;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import ro.nextreports.server.domain.AnalysisFilter;
public class FilterObjectDataProvider extends SortableDataProvider<AnalysisFilter, String> {
private ArrayList<AnalysisFilter> filters;
public FilterObjectDataProvider(IModel<ArrayList<AnalysisFilter>> filterModel) {
Injector.get().inject(this);
this.filters = filterModel.getObject();
}
@Override
public Iterator<? extends AnalysisFilter> iterator(long first, long count) {
return getFilterObjects().subList((int)first, (int)(first + Math.min(count, size()))).iterator();
}
@Override
public IModel<AnalysisFilter> model(AnalysisFilter filterObject) {
return new Model<AnalysisFilter>(filterObject);
}
@Override
public long size() {
return getFilterObjects().size();
}
private List<AnalysisFilter> getFilterObjects() {
return filters;
}
}