com.bea.content.paging
Interface IPagedList<T>

All Superinterfaces
ContentListKeys, Iterable<T>, Serializable
All Known Subinterfaces:
IFilterablePagedList<T>, ISortableFilterablePagedList<T>, ISortablePagedList<T>

public interface IPagedList<T>
extends Iterable<T>, Serializable, ContentListKeys

An IPagedList represents a collection of query results. It is similar to a java.util.List, except the list itself cannot be modified. Modifications should be made via the content Federated APIs (NodeManager, TypeManager, etc).

An overview of PagedList capabilities, including sorting and filtering, is provided in the package documentation at com.bea.content.paging

An IPagedList implementation may load some or all of its items on-demand. If this is supported, the number of items to load at a time may be configured via the ContentListKeys.BATCH_LOADING_SIZE_KEY context key and the getBatchLoadingSize() and setBatchLoadingSize() methods.

This interface is intended to be implemented only by Oracle Weblogic Portal. Oracle Systems reserves the right to add abstract methods to this interface without notice. Implementations of this interface by other parties must not be expected to compile without change in future versions of Oracle Weblogic Portal.

Field Summary
 
Fields inherited from interface com.bea.content.paging.ContentListKeys
ALL_ITEMS, BATCH_LOADING_SIZE_KEY, CUSTOM_OBJECT_FILTER, CUSTOM_OBJECT_SORT, FILTER_CRITERIA_KEY, SORT_CRITERIA_KEY
 
Method Summary
 int fullSize()
          Finds query results size, regardless of the cost.
 int getBatchLoadingSize()
          Returns the current batch loading size.
 boolean isFullyResolved()
          For performance reasons, query results can be bounded at a maximum, such as 10,000 items.
 IPagedListIterator<T> iterator()
          Get an iterator to traverse the PagedList items.
 int nativeSize()
          If it is possible to efficiently determine the query results size, this method will return the size.
 void setBatchLoadingSize(int numItems)
          Updates the batch loading size
 

Method Detail

iterator

IPagedListIterator<T> iterator()
                               throws RepositoryRuntimeException
Get an iterator to traverse the PagedList items. It is always safe to retrieve an iterator, even if the PagedList is empty (no query results). If there are no query results, calling iterator.hasNext() will return false.

NOTE: any changes to the PagedList (such as resorting, refiltering, etc) will invalidate all iterators on the PagedList.

Specified by:
iterator in interface Iterable<T>
Throws
RepositoryRuntimeException

isFullyResolved

boolean isFullyResolved()
                        throws RepositoryRuntimeException
For performance reasons, query results can be bounded at a maximum, such as 10,000 items. This method can be used to determine if this PagedList represents all items meeting the criteria, or a subset. (same meaning as in com.bea.p13n.pagination.PagedResult)

Throws
RepositoryRuntimeException

fullSize

int fullSize()
             throws RepositoryRuntimeException
Finds query results size, regardless of the cost.

NOTE: this method is potentially very expensive, as expensive as accessing every item, since in many cases, the query results size cannot be determined efficiently. For this reason, it is generally preferable to call nativeSize() instead.

If you need to iterate over all results, it will be most efficient to skip a call to fullSize(), and use an iterator like this:

     IPagedList allNodes= ...
     for ( Node node : allNodes ) {
        // use 'node' object
     }
 

Throws
RepositoryRuntimeException

nativeSize

int nativeSize()
               throws RepositoryRuntimeException
If it is possible to efficiently determine the query results size, this method will return the size. If the size cannot be determined natively, returns com.bea.p13n.pagination.PagedResult.COUNT_UNKNOWN

Throws
RepositoryRuntimeException

getBatchLoadingSize

int getBatchLoadingSize()
                        throws RepositoryRuntimeException
Returns the current batch loading size. The batch loading size specifies how many items are loaded at a time from the backing store when items are retrieved.

Throws
RepositoryRuntimeException

setBatchLoadingSize

void setBatchLoadingSize(int numItems)
                         throws RepositoryRuntimeException
Updates the batch loading size

Throws
RepositoryRuntimeException


Copyright © 2000, 2008, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.