Style Intelligence v12.0

inetsoft.report.filter
Class TableSummaryFilter

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

public class TableSummaryFilter
extends AbstractTableLens
implements TableFilter, Cloneable

This filter adds one table level summarization row (grand total) without the need to perform grouping. The summarization is done through formula objects.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class inetsoft.report.lens.AbstractTableLens
descriptor, isLeftAlign
 
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
TableSummaryFilter(TableLens table, String label, Formula[] calc)
          Create table level summarization.
TableSummaryFilter(TableLens table, String label, int[] sumcols, Formula[] calc)
          Create table level summarization.
TableSummaryFilter(TableLens table, String label, int col, Formula calc)
          Create table level summarization.
 
Method Summary
 void dispose()
          Dispose the table to clear up temporary resources.
 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 current column content type.
 String getColumnIdentifier(int col)
          Get the column identifier of a column.
 int getColWidth(int col)
          Get the current column width setting.
 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 formula of the column.
 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.
 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.
 Dimension getSpan(int r, int c)
          Return the spanning setting for the cell.
 Font getSummaryFont()
          Get the summary row font.
 TableLens getTable()
          Get the original table of this filter.
 int getTrailerRowCount()
          Return the number of rows on the bottom of the table to be treated as trailer rows.
 void invalidate()
          Invalidate the table filter forcely, and the table filter will perform filtering calculation to validate itself.
 boolean isDefaultResult()
          Get the default result option of this filter.
 boolean isLineWrap(int r, int c)
          Return the per cell line wrap mode.
 boolean isSummaryCol(int col)
          If the column is a summary column.
 boolean isSummaryOnly()
          Check if summary only.
 boolean moreRows(int row)
          Check if there are more rows.
 void setDefaultResult(boolean def)
          Set the default result option of this filter.
 void setObject(int r, int c, Object v)
          Set the cell value.
 void setSummaryFont(Font font)
          Set the font for the summary row.
 void setSummaryOnly(boolean only)
          Set the summary only flag.
 void setTable(TableLens table)
          Set the base table of this filter.
 
Methods inherited from class inetsoft.report.lens.AbstractTableLens
addChangeListener, clone, containsDrill, containsFormat, findColumnByIdentifier, fireChangeEvent, getBoolean, getByte, getDefaultFormat, getDouble, getFloat, getInt, getLong, getShort, getTrailerColCount, 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, isNull, isPrimitive, setColumnIdentifier
 

Constructor Detail

TableSummaryFilter

public TableSummaryFilter(TableLens table,
                          String label,
                          Formula[] calc)
Create table level summarization. The Formula array must be the same size as the number of columns in the table. For columns that does not have summarization, a null value can be supplied at the position.

Parameters:
table - base table.
label - summary row label. Placed at the first column of the summary row.
calc - summarization formula.

TableSummaryFilter

public TableSummaryFilter(TableLens table,
                          String label,
                          int[] sumcols,
                          Formula[] calc)
Create table level summarization. The Formula array must be the same size as the summary column array. For columns that does not have summarization, a null value can be supplied at the position.

Parameters:
table - base table.
label - summary row label. Placed at the first column of the summary row.
sumcols - summary columns.
calc - summarization formula.

TableSummaryFilter

public TableSummaryFilter(TableLens table,
                          String label,
                          int col,
                          Formula calc)
Create table level summarization. One column is chosen for summarization.

Parameters:
table - base table.
label - summary row label.
col - summarization column index.
calc - summarization formula.
Method Detail

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 TableFilter
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.

getTrailerRowCount

public int getTrailerRowCount()
Return the number of rows on the bottom of the table to be treated as trailer rows.

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

setSummaryFont

public void setSummaryFont(Font font)
Set the font for the summary row.

Parameters:
font - new font.

getSummaryFont

public Font getSummaryFont()
Get the summary row font. If the font is null, the row uses the same font as the last row in the original table.

Returns:
summary row font.

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

isSummaryOnly

public boolean isSummaryOnly()
Check if summary only.

Returns:
true if summary only.

setSummaryOnly

public void setSummaryOnly(boolean only)
Set the summary only flag.

Parameters:
only - true if summary only.

getTable

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

Specified by:
getTable in interface TableFilter

setTable

public void setTable(TableLens table)
Set the base table of this filter.

Specified by:
setTable in interface TableFilter

setDefaultResult

public void setDefaultResult(boolean def)
Set the default result option of this filter.

Parameters:
def - true to use the default value of a formula if no result, false to just return null.

isDefaultResult

public boolean isDefaultResult()
Get the default result option of this filter.

Returns:
true to use the default value of a formula if no result, false to just return null.

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.

moreRows

public 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.

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.

getColType

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

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

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

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
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
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.

getSpan

public Dimension getSpan(int r,
                         int c)
Return the spanning setting for the cell. If the specified cell is not a spanning cell, it returns null. Otherwise it returns a Dimension object with Dimension.width equals to the number of columns and Dimension.height equals to the number of rows of the spanning cell.

Specified by:
getSpan in interface TableLens
Overrides:
getSpan in class AbstractTableLens
Parameters:
r - row number.
c - column number.
Returns:
span cell dimension.

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.

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.

getGrandFormula

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

Parameters:
col - column number.
Returns:
the formula of the grand.

isSummaryCol

public boolean isSummaryCol(int col)
If the column is a summary column.

Parameters:
col - column number.

dispose

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

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

getColumnIdentifier

public String getColumnIdentifier(int col)
Get the column identifier of a column.

Specified by:
getColumnIdentifier in interface XTable
Overrides:
getColumnIdentifier in class AbstractTableLens
Parameters:
col - the specified column index.
Returns:
the column indentifier of the column. The identifier might be different from the column name, for it may contain more locating information than the column name.

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