package hu.sch.web.wicket.util;
import hu.sch.domain.user.User;
import java.util.Iterator;
import java.util.List;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
/**
*
* @author aldaris
*/
public class SortablePersonDataProvider extends SortableDataProvider<User, String> {
private SortableList<User> persons;
public SortablePersonDataProvider(List<User> persons) {
this.persons = new SortableList<User>(persons);
setSort("fullName", SortOrder.ASCENDING);
}
@Override
public Iterator<? extends User> iterator(final long first, final long count) {
persons.sort(getSort());
return persons.getList().subList((int) first, (int) (first + count)).iterator();
}
@Override
public IModel<User> model(User p) {
return new LoadableDetachableUserModel(p);
}
@Override
public long size() {
return persons.size();
}
public List<User> getPersons() {
return persons.getList();
}
public void setPersons(List<User> list) {
persons.setList(list);
persons.sort(getSort());
}
}