com.beasys.commerce.ebusiness.util
Class DefaultScrollableModel

java.lang.Object
  extended by com.beasys.commerce.ebusiness.util.DefaultScrollableModel
All Implemented Interfaces
ScrollableModel, Serializable

public class DefaultScrollableModel
extends Object
implements ScrollableModel

This is the default implementation of the scrollable model interface. It should serve most requirements for a scrollable model.
It keeps all the primary keys used to get any value objects and caches a number of pages of value objects.
It uses a PageRetriever each time there is a page fault (i.e. a requested page is not cached in) to get the associated value objects.

See Also
ScrollableModel, ScrollableModelPageRetriever, Serialized Form

Field Summary
protected  int cacheSize
           
protected  int count
           
protected  int currentFirstIndex
           
protected  int currentLastIndex
           
protected  Object[] currentPrimaryKeys
           
protected  Object[] currentValues
           
static int DEFAULT_NB_PAGES
           
static int DEFAULT_PAGE_SIZE
           
protected  int nbPages
           
protected  ScrollableModelPageRetriever pageRetriever
           
protected  int pageSize
           
protected  Object[] primaryKeys
           
protected  Class valueClass
           
 
Constructor Summary
DefaultScrollableModel(Object[] primaryKeys, int nbPages, int pageSize, ScrollableModelPageRetriever pageRetriever)
          This constructor needs the primary keys the scrollable model will manage, how to configure the pages, and which ScrollableModelPageRetriever to use on a page fault.
DefaultScrollableModel(Object[] primaryKeys, ScrollableModelPageRetriever pageRetriever)
          This constructor uses the default number of pages in the cache and the default number of items in a page.
 
Method Summary
 int getCount()
          gets the total number of elements managed by the Scrollable Model.
 Class getModelClass()
          All objects managed by the scrollable model are of the same class.
 int getNbPages()
          Gets the total number of pages over the scrollable model
 Object[] getPage(int pageIndex)
          Gets a page worth of Objects, given a page index.
 int getPageSize()
          gets the page size for an instance of a scrollable model i.e.
 Object getValueAt(int valueIndex)
          Gets the value (hopefully a value object) based on the index the value
 void setValueAt(Serializable value, int valueIndex)
          This is an empty implementation of setValueAt It is here only to implement the ScrollableModel interface.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PAGE_SIZE

public static final int DEFAULT_PAGE_SIZE
See Also
Constants Summary

DEFAULT_NB_PAGES

public static final int DEFAULT_NB_PAGES
See Also
Constants Summary

count

protected int count

primaryKeys

protected Object[] primaryKeys

valueClass

protected Class valueClass

currentValues

protected Object[] currentValues

currentFirstIndex

protected int currentFirstIndex

currentLastIndex

protected int currentLastIndex

pageSize

protected int pageSize

nbPages

protected int nbPages

cacheSize

protected int cacheSize

currentPrimaryKeys

protected Object[] currentPrimaryKeys

pageRetriever

protected ScrollableModelPageRetriever pageRetriever
Constructor Detail

DefaultScrollableModel

public DefaultScrollableModel(Object[] primaryKeys,
                              int nbPages,
                              int pageSize,
                              ScrollableModelPageRetriever pageRetriever)
This constructor needs the primary keys the scrollable model will manage, how to configure the pages, and which ScrollableModelPageRetriever to use on a page fault.

Parameters
primaryKeys, - an array of pks over the managed objects
nbPages, - the number of pages in the cache (not overall!)
pageSize, - the size of a page
pageRetriever - the page fault resolver

DefaultScrollableModel

public DefaultScrollableModel(Object[] primaryKeys,
                              ScrollableModelPageRetriever pageRetriever)
This constructor uses the default number of pages in the cache and the default number of items in a page.

Parameters
primaryKeys, - an array of pks over the managed objects
pageRetriever - the page fault resolver
Method Detail

getCount

public int getCount()
gets the total number of elements managed by the Scrollable Model.

Specified by:
getCount in interface ScrollableModel
Returns
the count of all elements.

getNbPages

public int getNbPages()
Gets the total number of pages over the scrollable model

Specified by:
getNbPages in interface ScrollableModel
Returns
the number of pages

getPageSize

public int getPageSize()
gets the page size for an instance of a scrollable model i.e. '10' means 10 value objects are kept in one page.

Specified by:
getPageSize in interface ScrollableModel
Returns
the size of all pages

getModelClass

public Class getModelClass()
All objects managed by the scrollable model are of the same class. This method retrieves that class

Specified by:
getModelClass in interface ScrollableModel
Returns
the Class of all objects managed by the scrollable model.

getValueAt

public Object getValueAt(int valueIndex)
Gets the value (hopefully a value object) based on the index the value

Specified by:
getValueAt in interface ScrollableModel
Parameters
valueIndex, - the index for the value to retrieve
Returns
the corresponding value as an Object

getPage

public Object[] getPage(int pageIndex)
Gets a page worth of Objects, given a page index.

Specified by:
getPage in interface ScrollableModel
Parameters
pageIndex, - the index in the list of pages
Returns
an array of objects for that page.

setValueAt

public void setValueAt(Serializable value,
                       int valueIndex)
This is an empty implementation of setValueAt It is here only to implement the ScrollableModel interface.

Specified by:
setValueAt in interface ScrollableModel
Parameters
value, - the 'value object' at a location in the list
valueIndex, - the location of the value object in the list


Copyright © 2006 BEA Systems, Inc. All Rights Reserved