Style Intelligence v12.0

inetsoft.report.filter
Class TopNFilter

java.lang.Object
  extended by inetsoft.report.lens.AbstractTableLens
      extended by inetsoft.report.filter.AbstractGroupedTable
          extended by inetsoft.report.filter.TopNFilter
All Implemented Interfaces:
GroupedTable, RegionTable, StyleConstants, TableFilter, TableLens, XConstants, XTable, Serializable, Cloneable

public class TopNFilter
extends AbstractGroupedTable
implements Cloneable

This filter sorts the summaried sections of a grouped table, and extracts the topN sections. If the N value set to ALL, all sections are displayed in sorted order.

Every group level of the grouped table is topN filterable. If set topN info of a group level more than twice, the latter will override the former.

If a group level has more than one group columns, when design topN in designer, any one of them chosen to be the group level's group column is ok, and if design topN for more than one group columns in a group level, the latter will override the former when topN filtering.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class inetsoft.report.filter.AbstractGroupedTable
AbstractGroupedTable.BooleanObject
 
Field Summary
static int ALL
          This can be used as the N value to include all data.
 
Fields inherited from class inetsoft.report.lens.AbstractTableLens
descriptor, isLeftAlign
 
Fields inherited from interface inetsoft.report.filter.GroupedTable
GROUP_HEADER_FULL, GROUP_HEADER_IN_PLACE, GROUP_HEADER_ROWS
 
Fields inherited from interface inetsoft.report.TableLens
BREAK_BORDER, NULL
 
Fields inherited from interface inetsoft.uql.XTable
EOT
 
Fields inherited from interface inetsoft.report.StyleConstants
ARROW_LINE_1, ARROW_LINE_2, ARROW_LINE_3, BACKGROUND_CENTER, BACKGROUND_TILED, BOX_RECTANGLE, BOX_ROUNDED_RECTANGLE, CENTER, CHART_3D_BAR, CHART_3D_BAR_3D, CHART_3D_PIE, CHART_3D_STACK_BAR, CHART_AREA, CHART_BAR, CHART_BUBBLE, CHART_CANDLE, CHART_CURVE, CHART_FILL_RADAR, CHART_GANTT, CHART_INV_BAR, CHART_INV_CURVE, CHART_INV_LINE, CHART_INV_POINT, CHART_INV_STACK_BAR, CHART_LINE, CHART_MAX_USER, CHART_PARETO, CHART_PIE, CHART_PIE_EXPLODED_ALL, CHART_PIE_EXPLODED_FIRST, CHART_PIE_EXPLODED_NONE, CHART_POINT, CHART_RADAR, CHART_RIBBON, CHART_SCATTER, CHART_SPEEDOMETER, CHART_STACK_AREA, CHART_STACK_BAR, CHART_STICK, CHART_STOCK, CHART_SURFACE, CHART_USER, CHART_VOLUME, CHART_WATERFALL, CHART_XY_LINE, CIRCLE, CROSS, CURRENCY, DASH_LINE, DASH_MASK, DEFAULT_PAGE_SIZE, DIAMOND, DOT_LINE, DOUBLE_3D_LOWERED, DOUBLE_3D_RAISED, DOUBLE_LINE, DOUBLE_MASK, FILL, FILLED_CIRCLE, FILLED_DIAMOND, FILLED_SQUARE, FILLED_TRIANGLE, FRACTION_WIDTH_MASK, H_ALIGN_MASK, H_CENTER, H_CURRENCY, H_LEFT, H_LINE, H_RIGHT, LANDSCAPE, LARGE_DASH, LEFT, LINECAP_BUTT, LINECAP_ROUND, LINECAP_SQUARE, LINEJOIN_BEVEL, LINEJOIN_MITER, LINEJOIN_ROUND, LOWERED_3D, LOWERED_MASK, LT_ANGLE, MEDIUM_DASH, MEDIUM_LINE, NIL, NO_BORDER, NONE, PAPER_10X11, PAPER_10X14, PAPER_11X17, PAPER_15X11, PAPER_9X11, PAPER_A_PLUS, PAPER_A2, PAPER_A3, PAPER_A3_EXTRA, PAPER_A3_EXTRA_TRANSVERSE, PAPER_A3_TRANSVERSE, PAPER_A4, PAPER_A4_EXTRA, PAPER_A4_PLUS, PAPER_A4_TRANSVERSE, PAPER_A4SMALL, PAPER_A5, PAPER_A5_EXTRA, PAPER_A5_TRANSVERSE, PAPER_B_PLUS, PAPER_B4, PAPER_B5, PAPER_B5_EXTRA, PAPER_B5_TRANSVERSE, PAPER_CSHEET, PAPER_DSHEET, PAPER_ENV_10, PAPER_ENV_11, PAPER_ENV_12, PAPER_ENV_14, PAPER_ENV_9, PAPER_ENV_B4, PAPER_ENV_B5, PAPER_ENV_B6, PAPER_ENV_C3, PAPER_ENV_C4, PAPER_ENV_C5, PAPER_ENV_C6, PAPER_ENV_C65, PAPER_ENV_DL, PAPER_ENV_INVITE, PAPER_ENV_ITALY, PAPER_ENV_MONARCH, PAPER_ENV_PERSONAL, PAPER_ESHEET, PAPER_EXECUTIVE, PAPER_FANFOLD_LGL_GERMAN, PAPER_FANFOLD_STD_GERMAN, PAPER_FANFOLD_US, PAPER_FOLIO, PAPER_ISO_B4, PAPER_JAPANESE_POSTCARD, PAPER_LEDGER, PAPER_LEGAL, PAPER_LEGAL_EXTRA, PAPER_LETTER, PAPER_LETTER_EXTRA, PAPER_LETTER_EXTRA_TRANSVERSE, PAPER_LETTER_PLUS, PAPER_LETTER_TRANSVERSE, PAPER_LETTERSMALL, PAPER_NOTE, PAPER_QUARTO, PAPER_STATEMENT, PAPER_TABLOID, PAPER_TABLOID_EXTRA, PATTERN_0, PATTERN_1, PATTERN_10, PATTERN_11, PATTERN_12, PATTERN_13, PATTERN_14, PATTERN_15, PATTERN_16, PATTERN_17, PATTERN_18, PATTERN_19, PATTERN_2, PATTERN_3, PATTERN_4, PATTERN_5, PATTERN_6, PATTERN_7, PATTERN_8, PATTERN_9, PATTERN_NONE, PORTRAIT, RAISED_3D, RAISED_MASK, REMAINDER, RIGHT, RIGHT_ANGLE, SOLID_MASK, SQUARE, STAR, THICK_LINE, THIN_LINE, THIN_THIN_LINE, TRAY_AUTO, TRAY_CASSETTE, TRAY_ENVELOPE, TRAY_ENVMANUAL, TRAY_FORMSOURCE, TRAY_LARGECAPACITY, TRAY_LARGEFMT, TRAY_LOWER, TRAY_MANUAL, TRAY_MIDDLE, TRAY_ONLYONE, TRAY_SMALLFMT, TRAY_TRACTOR, TRAY_UPPER, TRIANGLE, ULTRA_THIN_LINE, V_ALIGN_MASK, V_ANGLE, V_BASELINE, V_BOTTOM, V_CENTER, V_LINE, V_TOP, WIDTH_MASK, X
 
Fields inherited from interface inetsoft.uql.XConstants
AM_PM_DATE_GROUP, AM_PM_OF_DAY_DATE_GROUP, AVERAGE_FORMULA, CALC_FORMULA, COLUMN, CONCAT_FORMULA, CONDITION_EMPTY_STRING, CONDITION_NULL_STRING, CONDITION_NULL_VALUE, CONDITION_REAL_NULL, CORRELATION_FORMULA, COUNT_FORMULA, COVARIANCE_FORMULA, CURRENCY_FORMAT, CURRENT_REP_CHANGED, CURRENT_REP_WILL_CHANGE, DATE_FORMAT, DAY_DATE_GROUP, DAY_OF_MONTH_DATE_GROUP, DAY_OF_WEEK_DATE_GROUP, DAY_OF_YEAR_DATE_GROUP, DECIMAL_FORMAT, DISTINCTCOUNT_FORMULA, FIRST_FORMULA, FULL_JOIN, GREATER_EQUAL_JOIN, GREATER_JOIN, GROUP_OTHERS, HOUR_DATE_GROUP, HOUR_OF_DAY_DATE_GROUP, INNER_JOIN, JOIN, LAST_FORMULA, LEAVE_OTHERS, LEFT_JOIN, LESS_EQUAL_JOIN, LESS_JOIN, MAX_FORMULA, MEDIAN_FORMULA, MESSAGE_FORMAT, MILLISECOND_DATE_GROUP, MIN_FORMULA, MINUTE_DATE_GROUP, MODE_FORMULA, MONTH_DATE_GROUP, MONTH_OF_YEAR_DATE_GROUP, NONE_DATE_GROUP, NONE_FORMULA, NOT_EQUAL_JOIN, NTHLARGEST_FORMULA, NTHMOSTFREQUENT_FORMULA, NTHSMALLEST_FORMULA, PARAM_PREFIX, PART_DATE_GROUP, PERCENT_FORMAT, PERCENTAGE_BY_COL, PERCENTAGE_BY_ROW, PERCENTAGE_NONE, PERCENTAGE_OF_COL_GRANDTOTAL, PERCENTAGE_OF_COL_GROUP, PERCENTAGE_OF_GRANDTOTAL, PERCENTAGE_OF_GROUP, PERCENTAGE_OF_ROW_GRANDTOTAL, PERCENTAGE_OF_ROW_GROUP, POPULATIONSTANDARDDEVIATION_FORMULA, POPULATIONVARIANCE_FORMULA, PRODUCT_FORMULA, PTHPERCENTILE_FORMULA, QUARTER_DATE_GROUP, QUARTER_OF_YEAR_DATE_GROUP, RIGHT_JOIN, SECOND_DATE_GROUP, SET_FORMULA, SORT_ASC, SORT_DESC, SORT_NONE, SORT_ORIGINAL, SORT_SPECIFIC, SORT_VALUE_ASC, SORT_VALUE_DESC, STANDARDDEVIATION_FORMULA, SUB_QUERY_PARAM, SUM_FORMULA, SUMSQ_FORMULA, SUMWT_FORMULA, VARIANCE_FORMULA, WEEK_DATE_GROUP, WEEK_OF_MONTH_DATE_GROUP, WEEK_OF_YEAR_DATE_GROUP, WEIGHTEDAVERAGE_FORMULA, YEAR_DATE_GROUP
 
Constructor Summary
TopNFilter(GroupedTable table)
          Create a TopNFilter instance.
TopNFilter(GroupedTable table, int n, int sortcol)
          Deprecated. call setTopNInfo(int, int) method to set topN info
TopNFilter(GroupedTable table, int n, int[] sortcols, boolean asc)
          Deprecated. call setTopNInfo(int, int[], boolean) method to set topN info
TopNFilter(GroupedTable table, int n, int level, int[] sortcols, boolean asc)
          Deprecated. call setTopNInfo(int, int, int[], boolean, boolean) method to set topN info.
 
Method Summary
 void clearPageBreaks()
          Clear page breaks.
 void dispose()
          Dispose the table to clear up temporary resources.
 int firstSummaryColumn()
          Return the first summary column number.
 int getAlignment(int r, int c)
          Return the per cell alignment.
 Color getBackground(int r, int c)
          Return the per cell background color.
 int getBaseColIndex(int col)
          Get the base table column index corresponding to the filtered table.
 int getBaseRowIndex(int row)
          Get the base table row index corresponding to the filtered table.
 int getColBorder(int r, int c)
          Return the style for right border of the specified row.
 Color getColBorderColor(int r, int c)
          Return the color for drawing the column border lines.
 int getColCount()
          Return the number of columns in the table.
 Class getColType(int col)
          Get the column data type.
 int getColWidth(int col)
          Get the current column width setting.
 Comparer getComparer(int col)
          Get the comparer for the specified column.
 TableDataDescriptor getDescriptor()
          Get internal table data descriptor which contains table structural infos.
 Font getFont(int r, int c)
          Return the per cell font.
 Color getForeground(int r, int c)
          Return the per cell foreground color.
 Formula getGrandFormula(int col)
          Get the grand total formula of the column.
 int getGroupColCount()
          Return the number of grouping columns.
 int getGroupColLevel(int col)
          Get a group col's group level.
 int getGroupColumns(int level)
          Get the number of columns used in the specified grouping level.
 Formula getGroupFormula(int col)
          Get the group formula of the column.
 int getGroupHeaderStyle()
          Get the group header style.
 int getGroupLevel(int r)
          Get the grouping level of this group header.
 int getGroupLevel0(int r)
          Get the internal keep row level for the first row of a group.
 int getHeaderColCount()
          Return the number of columns on the left of the table to be treated as header columns.
 int getHeaderRowCount()
          Return the number of rows on the top of the table to be treated as header rows.
 Insets getInsets(int r, int c)
          Return the cell gap space.
 Object getObject(int r, int c)
          Return the value at the specified cell.
 BitSet getPageBreakLevels()
          Get page break levels.
 int getRowBorder(int r, int c)
          Return the style for bottom border of the specified cell.
 Color getRowBorderColor(int r, int c)
          Return the color for drawing the row border lines.
 int getRowCount()
          Return the number of rows in the table.
 int getRowHeight(int row)
          Get the current row heights setting.
 int getSummaryLevel(int row)
          Get the grouping level of a summary row.
 TableLens getTable()
          Get the original table of this filter.
 boolean hasGrandSummary()
          Check if this table contains grand total row.
 void invalidate()
          Invalidate the table filter forcely, and the table filter will perform filtering calculation to validate itself.
 boolean isAddGroupHeader()
          Check if group header is to be added to the grouped data.
 boolean isAggregateTopN()
          Check if only aggregate topN rows.
 boolean isDetailRow(int row)
          Check if a row is detail row.
 boolean isGrandTotalRow(int row)
          Check if a row is grand total row.
 boolean isGroupHeaderCell(int r, int c)
          Check if a cell is displaying group header.
 boolean isGroupHeaderRow(int r)
          Check if a row is displaying group header.
 boolean isHeaderDetailRow(int row)
          Check if a row is header detail row.
 boolean isKeepLastEq()
          Check whether the user want to display other group with the the same value as the Nth group.
 boolean isLineWrap(int r, int c)
          Return the per cell line wrap mode.
 boolean isShowGroupColumns()
          Check if the group column contents are shown.
 boolean isSubTotalHidden()
          Check if should hide subtotal for a single row option of this filter.
 boolean isSummaryCol(int col)
          Check if a column is a summary column.
 boolean isSummaryRow(int row)
          Check if a row is a summary row.
 boolean moreRows(int row)
          Check if there are more rows.
 void refresh()
          Refresh the table.
 void setAddGroupHeader(boolean h)
          Set whether group headers are added to the table.
 void setAggregateTopN(boolean aggTopN)
          Set the option if only aggregate topN rows.
 void setComparer(int col, Comparer comp)
          Set the comparer for a sorting column.
 void setGroupHeaderStyle(int headerS)
          Set the group header style.
 void setKeepLastEq(boolean flag)
          Set to true, if user want to display other group with the the same value as the Nth group.
 void setObject(int r, int c, Object v)
          Set the cell value.
 void setPageBreakLevels(BitSet lvlset)
          Set page break levels.
 void setShowGroupColumns(boolean grp)
          Set the show group column contents option.
 void setSortByValInfo(int level, int[] sortcols, boolean rev)
          Set a sort by value info to the TopNFilter instance.
 void setSubTotalHidden(boolean subTotalHidden)
          Set the hide subtotal for a single row option of this filter.
 void setTable(TableLens table)
          Set the base table of this filter.
 void setTopNInfo(int n, int sortcol)
          Set a topN info to the TopNFilter instance with default group level 0 and default ascending order.
 void setTopNInfo(int n, int[] sortcols, boolean asc)
          Set a topN info to the TopNFilter instance with default group level 0.
 void setTopNInfo(int level, int n, int[] sortcols, boolean asc, boolean others)
          Set a topN info to the TopNFilter instance.
 
Methods inherited from class inetsoft.report.filter.AbstractGroupedTable
clearCache, getAvailableLevels, getColumnIdentifier, getGroupFirstRow, getGroupFirstRow, getGroupFirstRow0, getGroupLastRow, getGroupLastRow, getGroupLastRow0, getHeader2, getMergedGroup, getOriginalPath, getRealGroupColCount, getSpan, isMergedGroup, isMergeGroupCells, setMergedGroup, setMergeGroupCells
 
Methods inherited from class inetsoft.report.lens.AbstractTableLens
addChangeListener, clone, containsDrill, containsFormat, findColumnByIdentifier, fireChangeEvent, getBoolean, getByte, getDefaultFormat, getDouble, getFloat, getInt, getLong, getShort, getTrailerColCount, getTrailerRowCount, getXDrillInfo, isNull, isPrimitive, removeChangeListener, setColumnIdentifier, setLeftAlign, setLocal
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface inetsoft.report.TableLens
addChangeListener, containsDrill, containsFormat, getDefaultFormat, getXDrillInfo, removeChangeListener
 
Methods inherited from interface inetsoft.uql.XTable
getBoolean, getByte, getDouble, getFloat, getInt, getLong, getShort, getTrailerColCount, getTrailerRowCount, isNull, isPrimitive, setColumnIdentifier
 

Field Detail

ALL

public static final int ALL
This can be used as the N value to include all data.

See Also:
Constant Field Values
Constructor Detail

TopNFilter

public TopNFilter(GroupedTable table)
Create a TopNFilter instance.

Parameters:
table - the base table

TopNFilter

public TopNFilter(GroupedTable table,
                  int n,
                  int sortcol)
Deprecated. call setTopNInfo(int, int) method to set topN info

Create a TopNFilter instance.

Parameters:
table - the base table
n - the topN
sortcol - the summary cols used to sort the group

TopNFilter

public TopNFilter(GroupedTable table,
                  int n,
                  int[] sortcols,
                  boolean asc)
Deprecated. call setTopNInfo(int, int[], boolean) method to set topN info

Create a TopNFilter.

Parameters:
table - the base table
n - the topN
sortcols - the summary cols used to sort the group

TopNFilter

public TopNFilter(GroupedTable table,
                  int n,
                  int level,
                  int[] sortcols,
                  boolean asc)
Deprecated. call setTopNInfo(int, int, int[], boolean, boolean) method to set topN info.

Create a TopNFilter instance.

Parameters:
table - base table
n - the topN
level - the group level
sortcols - the summary cols used to sort the group
asc - the sort order, true means ascending, and false means descending
Method Detail

moreRows

public final boolean moreRows(int row)
Check if there are more rows. The row index is the row that will be accessed. This method must block until the row is available, or return false if the row does not exist in the table. This method is used to iterate through the table, and allow partial table to be accessed in report processing.

Specified by:
moreRows in interface XTable
Overrides:
moreRows in class AbstractTableLens
Parameters:
row - row number.
Returns:
true if the row exists, or false if no more rows.

setAggregateTopN

public void setAggregateTopN(boolean aggTopN)
Set the option if only aggregate topN rows.

Parameters:
aggTopN - true to aggregate only topN rows.

isAggregateTopN

public boolean isAggregateTopN()
Check if only aggregate topN rows.


setSubTotalHidden

public void setSubTotalHidden(boolean subTotalHidden)
Set the hide subtotal for a single row option of this filter.

Parameters:
subTotalHidden - whether hide subtotal for a single row.

isSubTotalHidden

public boolean isSubTotalHidden()
Check if should hide subtotal for a single row option of this filter.

Returns:
true if should hide subtotal for a single row, false otherwise.

setTopNInfo

public void setTopNInfo(int n,
                        int sortcol)
Set a topN info to the TopNFilter instance with default group level 0 and default ascending order.

Parameters:
n - the topN
sortcol - the summary col used to sort the group

setTopNInfo

public void setTopNInfo(int n,
                        int[] sortcols,
                        boolean asc)
Set a topN info to the TopNFilter instance with default group level 0.

Parameters:
n - the topN
sortcols - the summary cols used to sort the group
asc - the sort order, true means ascending, and false means descending

setTopNInfo

public void setTopNInfo(int level,
                        int n,
                        int[] sortcols,
                        boolean asc,
                        boolean others)
Set a topN info to the TopNFilter instance.

Parameters:
level - the group level
n - the topN
sortcols - the summary cols used to sort the group
asc - the sort order, true means ascending, and false means descending

setSortByValInfo

public void setSortByValInfo(int level,
                             int[] sortcols,
                             boolean rev)
Set a sort by value info to the TopNFilter instance.

Parameters:
level - the group level
sortcols - the summary cols used to sort the group
rev - the sort order, true means descending, and false means ascending

setComparer

public void setComparer(int col,
                        Comparer comp)
Set the comparer for a sorting column.

Parameters:
col - the col
comp - the comparer

getComparer

public Comparer getComparer(int col)
Get the comparer for the specified column.

Parameters:
col - the col
Returns:
the comparer or null if out of range

setPageBreakLevels

public void setPageBreakLevels(BitSet lvlset)
Set page break levels.

Parameters:
lvlset - the page break levels

getPageBreakLevels

public BitSet getPageBreakLevels()
Get page break levels.

Overrides:
getPageBreakLevels in class AbstractGroupedTable
Returns:
page break levels

getGroupColCount

public int getGroupColCount()
Return the number of grouping columns.

Specified by:
getGroupColCount in interface GroupedTable
Specified by:
getGroupColCount in class AbstractGroupedTable
Returns:
the number of grouping columns

getGroupColumns

public int getGroupColumns(int level)
Get the number of columns used in the specified grouping level. This is normally 1 unless multiple columns are combined into one group.

Specified by:
getGroupColumns in interface GroupedTable
Specified by:
getGroupColumns in class AbstractGroupedTable
Parameters:
level - the group level
Returns:
the number of columns used in the specified grouping level

getGroupLevel

public int getGroupLevel(int r)
Get the grouping level of this group header. The row number must refer to a header row.

Specified by:
getGroupLevel in interface GroupedTable
Specified by:
getGroupLevel in interface RegionTable
Specified by:
getGroupLevel in class AbstractGroupedTable
Parameters:
r - the row
Returns:
grouping level. The top-most group is level 0. Returns -1 if the row is not a header row

getGroupColLevel

public int getGroupColLevel(int col)
Get a group col's group level.

Specified by:
getGroupColLevel in interface GroupedTable
Overrides:
getGroupColLevel in class AbstractGroupedTable
Parameters:
col - the group col
Returns:
the group col's group level, -1 means not a group col

isGroupHeaderRow

public boolean isGroupHeaderRow(int r)
Check if a row is displaying group header.

Specified by:
isGroupHeaderRow in interface GroupedTable
Specified by:
isGroupHeaderRow in class AbstractGroupedTable
Parameters:
r - the row number
Returns:
true if is displaying group header, false otherwise

isGroupHeaderCell

public boolean isGroupHeaderCell(int r,
                                 int c)
Check if a cell is displaying group header.

Specified by:
isGroupHeaderCell in interface GroupedTable
Specified by:
isGroupHeaderCell in interface RegionTable
Specified by:
isGroupHeaderCell in class AbstractGroupedTable
Parameters:
r - row number
c - column number
Returns:
true if the cell is a displaying group header

isGrandTotalRow

public final boolean isGrandTotalRow(int row)
Check if a row is grand total row.

Parameters:
row - the specified row
Returns:
true if is grand total row, false otherwise

isDetailRow

public boolean isDetailRow(int row)
Check if a row is detail row.

Parameters:
row - the specified row
Returns:
true if is detail row, false otherwise

isHeaderDetailRow

public boolean isHeaderDetailRow(int row)
Check if a row is header detail row.

Parameters:
row - the specified row
Returns:
true if is header detail row, false otherwise

isShowGroupColumns

public boolean isShowGroupColumns()
Check if the group column contents are shown. This is true by default. If it's false, the group columns are hidden.

Specified by:
isShowGroupColumns in interface GroupedTable
Specified by:
isShowGroupColumns in class AbstractGroupedTable
Returns:
true if group columns are shown.

setShowGroupColumns

public void setShowGroupColumns(boolean grp)
Set the show group column contents option. If it's turned off, the grouped columns will have empty contents. If the ShowGroupColumns is set to false, the AddGroupHeader is automatically turned on.

Specified by:
setShowGroupColumns in interface GroupedTable
Specified by:
setShowGroupColumns in class AbstractGroupedTable
Parameters:
grp - show group column contents.

isAddGroupHeader

public boolean isAddGroupHeader()
Check if group header is to be added to the grouped data.

Specified by:
isAddGroupHeader in interface GroupedTable
Specified by:
isAddGroupHeader in class AbstractGroupedTable
Returns:
true if group header is added. Default to false.

setAddGroupHeader

public void setAddGroupHeader(boolean h)
Set whether group headers are added to the table. Group headers are separate rows containing only the group column value for the section.

Specified by:
setAddGroupHeader in interface GroupedTable
Specified by:
setAddGroupHeader in class AbstractGroupedTable

getGroupHeaderStyle

public int getGroupHeaderStyle()
Get the group header style.

Specified by:
getGroupHeaderStyle in interface GroupedTable
Specified by:
getGroupHeaderStyle in class AbstractGroupedTable
Returns:
group header style.

setGroupHeaderStyle

public void setGroupHeaderStyle(int headerS)
Set the group header style. This must be called before the refresh() is called.

Specified by:
setGroupHeaderStyle in interface GroupedTable
Specified by:
setGroupHeaderStyle in class AbstractGroupedTable
Parameters:
headerS - one of GROUP_HEADER_IN_PLACE, GROUP_HEADER_ROWS (default).

isSummaryRow

public boolean isSummaryRow(int row)
Check if a row is a summary row.

Specified by:
isSummaryRow in interface GroupedTable
Specified by:
isSummaryRow in interface RegionTable
Specified by:
isSummaryRow in class AbstractGroupedTable
Parameters:
row - the row number
Returns:
true if the row is a summary row

isSummaryCol

public boolean isSummaryCol(int col)
Check if a column is a summary column.

Specified by:
isSummaryCol in interface GroupedTable
Specified by:
isSummaryCol in class AbstractGroupedTable
Parameters:
col - the column number
Returns:
true if the column is a summary column

getSummaryLevel

public int getSummaryLevel(int row)
Get the grouping level of a summary row. The row number must refer to a summary row.

Specified by:
getSummaryLevel in interface GroupedTable
Specified by:
getSummaryLevel in interface RegionTable
Specified by:
getSummaryLevel in class AbstractGroupedTable
Returns:
the grouping level. The top-most group is level 0. Returns -1 if the row is not a summary row

hasGrandSummary

public final boolean hasGrandSummary()
Check if this table contains grand total row.

Specified by:
hasGrandSummary in interface GroupedTable
Specified by:
hasGrandSummary in class AbstractGroupedTable
Returns:
true if grand total row exists

invalidate

public void invalidate()
Invalidate the table filter forcely, and the table filter will perform filtering calculation to validate itself.

Specified by:
invalidate in interface TableFilter

getGroupFormula

public Formula getGroupFormula(int col)
Get the group formula of the column.

Specified by:
getGroupFormula in interface GroupedTable
Specified by:
getGroupFormula in class AbstractGroupedTable
Parameters:
col - column index in the grouped table.
Returns:
the group formula of column

getGrandFormula

public Formula getGrandFormula(int col)
Get the grand total formula of the column.

Specified by:
getGrandFormula in interface GroupedTable
Specified by:
getGrandFormula in class AbstractGroupedTable
Parameters:
col - column index in the grouped table.
Returns:
the grand total formula of column

setKeepLastEq

public void setKeepLastEq(boolean flag)
Set to true, if user want to display other group with the the same value as the Nth group.

Parameters:
flag - boolean

isKeepLastEq

public boolean isKeepLastEq()
Check whether the user want to display other group with the the same value as the Nth group.

Returns:
boolean

getTable

public TableLens getTable()
Get the original table of this filter.

Specified by:
getTable in interface TableFilter
Returns:
the original table

setTable

public void setTable(TableLens table)
Set the base table of this filter. The base table must be a grouped table.

Specified by:
setTable in interface TableFilter
Parameters:
table - the base table

getDescriptor

public TableDataDescriptor getDescriptor()
Get internal table data descriptor which contains table structural infos.

Specified by:
getDescriptor in interface TableLens
Specified by:
getDescriptor in interface XTable
Overrides:
getDescriptor in class AbstractTableLens
Returns:
table data descriptor.

getBaseRowIndex

public int getBaseRowIndex(int row)
Get the base table row index corresponding to the filtered table. If the row does not exist in the base table, it returns -1.

Specified by:
getBaseRowIndex in interface GroupedTable
Specified by:
getBaseRowIndex in interface TableFilter
Specified by:
getBaseRowIndex in class AbstractGroupedTable
Parameters:
row - row index in the filtered table
Returns:
corresponding row index in the base table

getBaseColIndex

public int getBaseColIndex(int col)
Get the base table column index corresponding to the filtered table. If the column does not exist in the base table, it returns -1.

Specified by:
getBaseColIndex in interface TableFilter
Parameters:
col - column index in the filtered table
Returns:
corresponding column index in the bast table

refresh

public void refresh()
Refresh the table.


getRowCount

public int getRowCount()
Return the number of rows in the table. The number of rows includes the header rows.

Specified by:
getRowCount in interface XTable
Returns:
number of rows in table

getColCount

public int getColCount()
Return the number of columns in the table. The number of columns includes the header columns.

Specified by:
getColCount in interface XTable
Returns:
number of columns in table

getHeaderRowCount

public int getHeaderRowCount()
Return the number of rows on the top of the table to be treated as header rows.

Specified by:
getHeaderRowCount in interface XTable
Overrides:
getHeaderRowCount in class AbstractTableLens
Returns:
number of header rows

getHeaderColCount

public int getHeaderColCount()
Return the number of columns on the left of the table to be treated as header columns.

Specified by:
getHeaderColCount in interface XTable
Overrides:
getHeaderColCount in class AbstractTableLens
Returns:
number of header columns

getRowHeight

public int getRowHeight(int row)
Get the current row heights setting. The meaning of row heights depends on the table layout policy setting. If the row height is to be calculated by the ReportSheet based on the content, return -1.

Specified by:
getRowHeight in interface TableLens
Overrides:
getRowHeight in class AbstractTableLens
Parameters:
row - the row
Returns:
row height

getColWidth

public int getColWidth(int col)
Get the current column width setting. The meaning of column widths depends on the table layout policy setting. If the column width is to be calculated by the ReportSheet based on the content, return -1. A special value, StyleConstants.REMAINDER, can be returned by this method to indicate that width of this column should be calculated based on the remaining space after all other columns' widths are satisfied. If there are more than one column that return REMAINDER as their widths, the remaining space is distributed evenly among these columns.

Specified by:
getColWidth in interface TableLens
Overrides:
getColWidth in class AbstractTableLens
Parameters:
col - the column
Returns:
column width

getRowBorderColor

public Color getRowBorderColor(int r,
                               int c)
Return the color for drawing the row border lines.

Specified by:
getRowBorderColor in interface TableLens
Overrides:
getRowBorderColor in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
ruling color

getColBorderColor

public Color getColBorderColor(int r,
                               int c)
Return the color for drawing the column border lines.

Specified by:
getColBorderColor in interface TableLens
Overrides:
getColBorderColor in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
ruling color

getRowBorder

public int getRowBorder(int r,
                        int c)
Return the style for bottom border of the specified cell. The flag must be one of the style options defined in the StyleConstants class. If the row number is -1, it's checking the outside ruling on the top.

Specified by:
getRowBorder in interface TableLens
Overrides:
getRowBorder in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
ruling flag

getColBorder

public int getColBorder(int r,
                        int c)
Return the style for right border of the specified row. The flag must be one of the style options defined in the StyleConstants class. If the column number is -1, it's checking the outside ruling on the left.

Specified by:
getColBorder in interface TableLens
Overrides:
getColBorder in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
ruling flag

getInsets

public Insets getInsets(int r,
                        int c)
Return the cell gap space.

Specified by:
getInsets in interface TableLens
Overrides:
getInsets in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
cell gap space

getAlignment

public int getAlignment(int r,
                        int c)
Return the per cell alignment.

Specified by:
getAlignment in interface TableLens
Overrides:
getAlignment in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
cell alignment

getFont

public Font getFont(int r,
                    int c)
Return the per cell font. Return null to use default font.

Specified by:
getFont in interface TableLens
Overrides:
getFont in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
font for the specified cell

isLineWrap

public boolean isLineWrap(int r,
                          int c)
Return the per cell line wrap mode. If the line wrap mode is true, lines are wrapped when the text can not fit on one line. Otherwise the wrapping is never done and any overflow text will be truncated.

Specified by:
isLineWrap in interface TableLens
Overrides:
isLineWrap in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
true if line wrapping should be done

getForeground

public Color getForeground(int r,
                           int c)
Return the per cell foreground color. Return null to use default color.

Specified by:
getForeground in interface TableLens
Overrides:
getForeground in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
foreground color for the specified cell

getBackground

public Color getBackground(int r,
                           int c)
Return the per cell background color. Return null to use default color.

Specified by:
getBackground in interface TableLens
Overrides:
getBackground in class AbstractTableLens
Parameters:
r - row number
c - column number
Returns:
background color for the specified cell

getColType

public Class getColType(int col)
Get the column data type.

Specified by:
getColType in interface XTable
Overrides:
getColType in class AbstractTableLens
Parameters:
col - column number.
Returns:
column type.

getObject

public Object getObject(int r,
                        int c)
Return the value at the specified cell.

Specified by:
getObject in interface XTable
Parameters:
r - row number
c - column number
Returns:
the value at the location

setObject

public void setObject(int r,
                      int c,
                      Object v)
Set the cell value.

Specified by:
setObject in interface XTable
Overrides:
setObject in class AbstractTableLens
Parameters:
r - row number.
c - column number.
v - cell value.

dispose

public void dispose()
Dispose the table to clear up temporary resources.

Specified by:
dispose in interface XTable
Overrides:
dispose in class AbstractTableLens

clearPageBreaks

public void clearPageBreaks()
Clear page breaks.

Overrides:
clearPageBreaks in class AbstractGroupedTable

firstSummaryColumn

public int firstSummaryColumn()
Return the first summary column number.

Overrides:
firstSummaryColumn in class AbstractGroupedTable

getGroupLevel0

public int getGroupLevel0(int r)
Get the internal keep row level for the first row of a group.

Overrides:
getGroupLevel0 in class AbstractGroupedTable

Copyright © 1996-2014 InetSoft Technology Corp. All Rights Reserved.