Advertisement
Guest User

Simple PageableDatamodel impl

a guest
Mar 12th, 2011
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.17 KB | None | 0 0
  1. package org.luca.jsf.model.rf;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collection;
  5. import java.util.Collections;
  6. import java.util.Comparator;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10.  
  11. import javax.faces.bean.ManagedBean;
  12.  
  13. import org.luca.domain.Item;
  14.  
  15.  
  16. @ManagedBean
  17. public class ItemModel extends PageableDatamodel<Item>
  18. {
  19.  
  20.     private static Map<Integer, Item> data;
  21.     static
  22.     {
  23.         data = new HashMap<Integer, Item>();
  24.         for ( Integer i = 0; i < 100; i++ )
  25.         {
  26.             Item mov = new Item( i, "item nr: " + i );
  27.             data.put( i, mov );
  28.         }
  29.     }
  30.  
  31.  
  32.     @Override
  33.     protected Item getItemById( Integer id )
  34.     {
  35.         return data.get( id );
  36.     }
  37.  
  38.  
  39.     @Override
  40.     protected List<Item> getItemsRanged( int start, int numberOfRows )
  41.     {
  42.         Collection<Item> set = data.values();
  43.         List<Item> list = new ArrayList<Item>( set );
  44.         Collections.sort( list, new Comparator<Item>()
  45.         {
  46.             @Override
  47.             public int compare( Item o1, Item o2 )
  48.             {
  49.                 return o1.getId().compareTo( o2.getId() );
  50.             }
  51.         } );
  52.         return list.subList( start, start + numberOfRows );
  53.     }
  54.  
  55.  
  56.     @Override
  57.     protected int getItemsTotalCount()
  58.     {
  59.         return data.size();
  60.     }
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement