© 2002 BEA Systems, Inc.


com.beasys.commerce.ebusiness.util
Class DefaultScrollableModel

java.lang.Object
  |
  +--com.beasys.commerce.ebusiness.util.DefaultScrollableModel

public class DefaultScrollableModel
extends java.lang.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  java.lang.Object[] currentPrimaryKeys
           
protected  java.lang.Object[] currentValues
           
static int DEFAULT_NB_PAGES
           
static int DEFAULT_PAGE_SIZE
           
protected  int nbPages
           
protected  ScrollableModelPageRetriever pageRetriever
           
protected  int pageSize
           
protected  java.lang.Object[] primaryKeys
           
protected  java.lang.Class valueClass
           
 
Constructor Summary
DefaultScrollableModel(java.lang.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(java.lang.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.
 java.lang.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
 java.lang.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.
 java.lang.Object getValueAt(int valueIndex)
          Gets the value (hopefully a value object) based on the index the value
 void setValueAt(java.io.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

DEFAULT_NB_PAGES

public static final int DEFAULT_NB_PAGES

count

protected int count

primaryKeys

protected java.lang.Object[] primaryKeys

valueClass

protected java.lang.Class valueClass

currentValues

protected java.lang.Object[] currentValues

currentFirstIndex

protected int currentFirstIndex

currentLastIndex

protected int currentLastIndex

pageSize

protected int pageSize

nbPages

protected int nbPages

cacheSize

protected int cacheSize

currentPrimaryKeys

protected java.lang.Object[] currentPrimaryKeys

pageRetriever

protected ScrollableModelPageRetriever pageRetriever
Constructor Detail

DefaultScrollableModel

public DefaultScrollableModel(java.lang.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

DefaultScrollableModel

public DefaultScrollableModel(java.lang.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
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 java.lang.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 java.lang.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 java.lang.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(java.io.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

© 2002 BEA Systems, Inc.

Copyright © 2002 BEA Systems, Inc. All Rights Reserved