public interface

ReportPageInfo

com.microstrategy.web.beans.ReportPageInfo

Class Overview

This interface is designed specifically to support incremental fetch of report data. By specifying the number of grid rows and columns to appear on each page, a caller virtually cuts the whole set of report grid data into a set of pages. Each of these virtual pages can be uniquely identified by its positions (or coordinates) in a two-dimension surface with X axis representing the grid columns and Y axis representing the grid rows.

This interface also supports page-by operations. It calculates how much total pages a report has, and allows callers to set an arbitrary page-by position, and then moves to any other page based on an offset value.

Two types of ReportPageInfo are supported. The absolute page info is synchronized with the ReportBean on which we are performing pagination. Changes (mainly through report windown settings) are also reflected on the ReportBean. On the other hand, the relative page info is kind of independant, to allow further chopping of the absolute page info into even smaller pages.

Summary

Public Methods
abstract int changePageByPosition(int offset)
Moves from the current page-by position to another page by offset value.
abstract void generateAllPages()
Generates all pages in one call to the backend over Network.
abstract int getColMode()
abstract int getColumnsOnPage()
Returns the actual number of grid columns on the current logical page.
abstract int getColumnsPerPage()
Returns the maximum number of columns a caller prefers on the current instance.
abstract int getPageByCount()
Returns the total number of page-by pages of this particular report.
abstract int getPageByPosition()
Returns the current page-by position.
abstract int getPageIndex(int direction)
Returns the index of the current logical page.
abstract int getPageSetHeight()
Returns the total number of logical pages in the Y-axis for the current ReportBean based on the total number of rows of the whole report data.
abstract int getPageSetWidth()
Returns the total number of logical pages in the X-axis for the current ReportBean based on the total number of columns of the whole report data.
abstract int getPageType()
Returns the page type.
abstract int getPageXPosition()
Returns the X-axis coordinate of the current instance.
abstract int getPageYPosition()
Returns the Y-axis coordinate of the current instance.
abstract int getPreviousPageXPosition()
Returns the previous X-axis coordinate of the current instance.
abstract int getPreviousPageYPosition()
Returns the previous Y-axis coordinate of the current instance.
abstract ReportBean getReportAtCurrentPage()
Returns the ReportBean object representing a logical page corresponding to this page info.
abstract ReportBean getReportAtPage(int xPos, int yPos)
Returns a ReportBean instance representing a logical page with the specified coordinates.
abstract int getRowMode()
abstract int getRowsOnPage()
Returns the actual number of grid rows on the current logical page.
abstract int getRowsPerPage()
Returns the maximum number of rows a caller prefers on the current instance.
abstract int getStartingColumn()
Returns the starting grid column for the current logical page.
abstract int getStartingRow()
Returns the starting grid row for the current logical page.
abstract int getTotalPages()
Returns the total number of logical pages for the current report data.
abstract boolean isTruncated()
Returns True if the report page collected has been truncated.
abstract void setBaseReportInstance(WebReportInstance ri)
Sets a base report instance, which all manipulations will use as their baseline.
abstract void setColMode(int value)
abstract void setColumnsPerPage(int columnsPerPage)
Sets the maximum number of columns a caller prefers on the current instance.
abstract void setPageXPosition(int pageXPos)
Sets the X-axis coordinate of the current instance.
abstract void setPageYPosition(int pageYPos)
Sets the Y-axis coordinate of the current instance.
abstract void setRowMode(int value)
abstract void setRowsPerPage(int rowsPerPage)
Sets the maximum number of rows a caller prefers on the current instance.

Public Methods

public abstract int changePageByPosition (int offset)

Moves from the current page-by position to another page by offset value. The moving is bi-directional and positive value means to move down to the next page while a negative values moves back to a previous page. It stops at the first page or the last page if the offset is too large or too small (negative number).

Parameters
offset how many pages to move from the current page position
Returns
  • the next available page by offset value
Throws
WebBeanException thrown if error occurs during processing

public abstract void generateAllPages ()

Generates all pages in one call to the backend over Network.

This method is not yet supported.

Throws
WebBeanException thrown if error occurs

public abstract int getColMode ()

public abstract int getColumnsOnPage ()

Returns the actual number of grid columns on the current logical page.

Returns
  • the actual number of grid columns on the current logical page.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract int getColumnsPerPage ()

Returns the maximum number of columns a caller prefers on the current instance.

Returns
  • the maximum number of columns set on the current instance. -1 means all columns in the current page.

public abstract int getPageByCount ()

Returns the total number of page-by pages of this particular report.

Returns
  • the total number of page-by pages.
Throws
WebBeanException thrown if error occurs during processing

public abstract int getPageByPosition ()

Returns the current page-by position. The position starts with 1, and the maximum possible value is the total count of page-by pages.

Returns
  • the curren page-by position.
Throws
WebBeanException thrown if error occurs during processing

public abstract int getPageIndex (int direction)

Returns the index of the current logical page. Index starts from the number 0.

Parameters
direction a value from EnumPageInfoDirection
Returns
  • the index of the current logical page.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract int getPageSetHeight ()

Returns the total number of logical pages in the Y-axis for the current ReportBean based on the total number of rows of the whole report data.

Returns
  • the total number of logical pages in the Y-axis.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract int getPageSetWidth ()

Returns the total number of logical pages in the X-axis for the current ReportBean based on the total number of columns of the whole report data.

Returns
  • the total number of logical pages in the X-axis.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract int getPageType ()

Returns the page type. Possible Values are listed under EnumReportPageType

Returns
  • the page type.

public abstract int getPageXPosition ()

Returns the X-axis coordinate of the current instance. The coordinate starts with 0.

Returns
  • the X-axis coordinate of the current instance.

public abstract int getPageYPosition ()

Returns the Y-axis coordinate of the current instance. The coordinate starts with 0.

Returns
  • the Y-axis coordinate of the current instance.

public abstract int getPreviousPageXPosition ()

Returns the previous X-axis coordinate of the current instance. The coordinate starts with 0.

public abstract int getPreviousPageYPosition ()

Returns the previous Y-axis coordinate of the current instance. The coordinate starts with 0.

public abstract ReportBean getReportAtCurrentPage ()

Returns the ReportBean object representing a logical page corresponding to this page info.

Returns
  • Report Bean corresponding to this page info.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract ReportBean getReportAtPage (int xPos, int yPos)

Returns a ReportBean instance representing a logical page with the specified coordinates.

Parameters
xPos the X-axis coordinate of a logical page
yPos the Y-axis coordinate of a logical page
Returns
Throws
WebBeanException thrown if any error occurs during processing.

public abstract int getRowMode ()

public abstract int getRowsOnPage ()

Returns the actual number of grid rows on the current logical page.

Returns
  • the actual number of grid rows on the current logical page.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract int getRowsPerPage ()

Returns the maximum number of rows a caller prefers on the current instance.

Returns
  • the maximum number of rows set on the current instance. -1 means all rows in the current page.

public abstract int getStartingColumn ()

Returns the starting grid column for the current logical page.

Returns
  • the starting grid column for the current logical page.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract int getStartingRow ()

Returns the starting grid row for the current logical page.

Returns
  • the starting grid row for the current logical page.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract int getTotalPages ()

Returns the total number of logical pages for the current report data. It is equivalent to the multiplication of pageSetWidth and pageSetHeight.

Returns
  • the total number of logical pages for the current report data.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract boolean isTruncated ()

Returns True if the report page collected has been truncated. The page could be truncated if the requested window settings exceed the IServer cell limit.

Returns
  • True if the report page collected from IServer has been truncated.

public abstract void setBaseReportInstance (WebReportInstance ri)

Sets a base report instance, which all manipulations will use as their baseline. This will mean that anytime the page is changed, the same state ID will be used for new pages.

Parameters
ri The WebReportInstance to use as the base report instance.

public abstract void setColMode (int value)

public abstract void setColumnsPerPage (int columnsPerPage)

Sets the maximum number of columns a caller prefers on the current instance.

Parameters
columnsPerPage the maximum number of columns to set.

public abstract void setPageXPosition (int pageXPos)

Sets the X-axis coordinate of the current instance. The coordinate starts with 0.

Parameters
pageXPos the X-axis coordinate to set.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract void setPageYPosition (int pageYPos)

Sets the Y-axis coordinate of the current instance. The coordinate starts with 0.

Parameters
pageYPos the Y-axis coordinate to set.
Throws
WebBeanException thrown if any error occurs during processing.

public abstract void setRowMode (int value)

public abstract void setRowsPerPage (int rowsPerPage)

Sets the maximum number of rows a caller prefers on the current instance.

Parameters
rowsPerPage the maximum number of rows to set.