All Implemented Interfaces:
Serializable, IPageProvider, IClusterable
Direct Known Subclasses:

public class PageProvider extends Object implements IPageProvider, IClusterable
Provides page instance for request handlers. Each of the constructors has just enough information to get existing or create new page instance. Requesting or creating page instance is deferred until getPageInstance() is called.

Purpose of this class is to reduce complexity of both IRequestMappers and IRequestHandlers. IRequestMapper examines the URL, gathers all relevant information about the page in the URL (combination of page id, page class, page parameters and render count), creates PageProvider object and creates a IRequestHandler instance that can use the PageProvider to access the page.

Apart from simplifying IRequestMappers and IRequestHandlers PageProvider also helps performance because creating or obtaining page from IPageManager is delayed until the IRequestHandler actually requires the page.

Matej Knopp
See Also: