Package com.wiquery.plugins.demo

Source Code of com.wiquery.plugins.demo.PersonsDataProvider

/**
*
*/
package com.wiquery.plugins.demo;

import java.util.Iterator;
import java.util.List;

import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortState;
import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
import org.apache.wicket.extensions.markup.html.repeater.util.SingleSortState;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
import org.apache.wicket.markup.repeater.data.ListDataProvider;

import com.wiquery.plugins.demo.test.Person;
import com.wiquery.plugins.demo.util.QueryUtils;
import com.wiquery.plugins.jqgrid.model.SortInfo;
import com.wiquery.plugins.jqgrid.model.SortOrder;

public class PersonsDataProvider extends ListDataProvider<Person> implements ISortableDataProvider<Person> {

  private static final long serialVersionUID = 1L;

  private SingleSortState state = new SingleSortState();;
 
  private List<Person> persons;
  public PersonsDataProvider(List<Person> persons) {
    super(persons);
    this.persons = persons;
  }
 
  @Override
  public Iterator<? extends Person> iterator(int first, int count) {
    if(this.state == null || this.state.getSort() == null) {
      return super.iterator(first, count);
    } else {
      SortParam sort = this.state.getSort();
      SortInfo sortInfo = new SortInfo(sort.getProperty(), sort.isAscending()? SortOrder.asc: SortOrder.desc);
      if(sortInfo != null)
        QueryUtils.sortList(persons, sortInfo);
      int toIndex = first + count;
      if (toIndex > persons.size())
      {
        toIndex = persons.size();
      }
      return persons.subList(first, toIndex).listIterator();
    }
  }


  public ISortState getSortState() {
    return state;
  }


  public void setSortState(ISortState state) {
    this.state = (SingleSortState)state;
  }
 
}
TOP

Related Classes of com.wiquery.plugins.demo.PersonsDataProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.