Style Intelligence v12.0

inetsoft.report.lens
Class AbstractTableLens

java.lang.Object
  extended by inetsoft.report.lens.AbstractTableLens
All Implemented Interfaces:
StyleConstants, TableLens, XConstants, XTable, Serializable, Cloneable
Direct Known Subclasses:
AbstractConditionFilter, AbstractGroupedTable, AttributeTableLens, ColumnMapFilter, CompositeTableLens, CrossTabFilter, DefaultSortedTable, DefaultTableFilter, DistinctTableLens, EightyTwentyFilter, FormulaTableLens, JoinTableLens, MaxRowsTableLens, MetaTableFilter, PagedTableLens, RankingTableLens, RotatedTableLens, RowSummaryFilter, SelfJoinTableLens, SortFilter, SubTableLens, TableSummaryFilter, XNodeTableLens

public abstract class AbstractTableLens
extends Object
implements TableLens

The AbstractTableLens class provides default implementations for most of the methods defined in the TableLens interface. It allows a TableLens object to be created without the need to implement every methods. The AbstractTableLens has three abstract methods that subclass must implement: getRowCount(), getColCount(), and getObject().

The default implementation of AbstractTableLens provides a very plain look of the tabular data, without use of any special color, font, or borders. The user of the AbstractTableLens may choose to leave the default setting of the AbstractTableLens, and combine it with a table style class. In this case the new class acts only as the data provider, while the style class provides the visual styling of the table. Alternatively, the user of AbstractTableLens may selectively overriden the methods to define the look and feel directly in the class definition.

See Also:
Serialized Form

Field Summary
protected  TableDataDescriptor descriptor
           
protected  boolean 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
AbstractTableLens()
          Constructor.
 
Method Summary
 void addChangeListener(TableChangeListener listener)
          Add table change listener to the filtered table.
 Object clone()
          Clone the AbstractTableLens.
 boolean containsDrill()
          Check if contains drill.
 boolean containsFormat()
          Check if contains format.
 void dispose()
          Dispose the table to clear up temporary resources.
 int findColumnByIdentifier(String identifier)
          Find the column by identifier.
protected  void fireChangeEvent()
          Fire change event when filtered table changed.
 int getAlignment(int r, int c)
          Return the per cell alignment.
 Color getBackground(int r, int c)
          Return the per cell background color.
 boolean getBoolean(int r, int c)
          Get the boolean value in one row.
 byte getByte(int r, int c)
          Get the byte value in one row.
 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.
 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.
 Format getDefaultFormat(int row, int col)
          Return the per cell format.
 TableDataDescriptor getDescriptor()
          Get internal table data descriptor which contains table structural infos.
 double getDouble(int r, int c)
          Get the double value in one row.
 float getFloat(int r, int c)
          Get the float value in one row.
 Font getFont(int r, int c)
          Return the per cell font.
 Color getForeground(int r, int c)
          Return the per cell foreground color.
 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.
 int getInt(int r, int c)
          Get the int value in one row.
 long getLong(int r, int c)
          Get the long value in one row.
 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 getRowHeight(int row)
          Get the current row heights setting.
 short getShort(int r, int c)
          Get the short value in one row.
 Dimension getSpan(int r, int c)
          Return the spanning setting for the cell.
 int getTrailerColCount()
          Return the number of columns on the right of the table to be treated as tail columns.
 int getTrailerRowCount()
          Return the number of rows on the bottom of the table to be treated as tail rows.
 XDrillInfo getXDrillInfo(int row, int col)
          Get drill info with the specified row and col.
 boolean isLineWrap(int r, int c)
          Return the per cell line wrap mode.
 boolean isNull(int r, int c)
          Check if the value at one cell is null.
 boolean isPrimitive(int col)
          Check if is primitive.
 boolean moreRows(int row)
          Check if there are more rows.
 void removeChangeListener(TableChangeListener listener)
          Remove table change listener from the filtered table.
 void setColumnIdentifier(int col, String identifier)
          Set the column identifier of a column.
 void setLeftAlign(boolean isLeft)
          Set is left align true or false.
 void setLocal(Locale loc)
          Set the locale.
 void setObject(int r, int c, Object v)
          Set the cell value.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface inetsoft.uql.XTable
getColCount, getObject, getRowCount
 

Field Detail

isLeftAlign

protected boolean isLeftAlign

descriptor

protected TableDataDescriptor descriptor
Constructor Detail

AbstractTableLens

public AbstractTableLens()
Constructor.

Method Detail

setObject

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

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

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
Returns:
table data descriptor

getXDrillInfo

public final XDrillInfo getXDrillInfo(int row,
                                      int col)
Get drill info with the specified row and col.

Specified by:
getXDrillInfo in interface TableLens
Parameters:
row - row number.
col - column number.
Returns:
the drill info.

addChangeListener

public void addChangeListener(TableChangeListener listener)
Add table change listener to the filtered table. If the table filter's data changes, a TableChangeEvent will be triggered for the TableChangeListener to process.

Specified by:
addChangeListener in interface TableLens
Parameters:
listener - the specified TableChangeListener

removeChangeListener

public void removeChangeListener(TableChangeListener listener)
Remove table change listener from the filtered table.

Specified by:
removeChangeListener in interface TableLens
Parameters:
listener - the specified TableChangeListener to be removed

clone

public Object clone()
Clone the AbstractTableLens.

Overrides:
clone in class Object
Returns:
the cloned AbstractTableLens if successful, null otherwise

fireChangeEvent

protected void fireChangeEvent()
Fire change event when filtered table changed.


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
Parameters:
row - row number.
Returns:
true if the row exists, or false if no more rows.

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

getTrailerRowCount

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

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

getTrailerColCount

public int getTrailerColCount()
Return the number of columns on the right of the table to be treated as tail columns.

Specified by:
getTrailerColCount in interface XTable

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

Specified by:
getColWidth in interface TableLens
Returns:
column width.

getColType

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

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

getRowBorderColor

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

Specified by:
getRowBorderColor in interface TableLens
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
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
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
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
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
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
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
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
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
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
Parameters:
r - row number.
c - column number.
Returns:
background color for the specified cell.

getDefaultFormat

public final Format getDefaultFormat(int row,
                                     int col)
Return the per cell format.

Specified by:
getDefaultFormat in interface TableLens
Parameters:
row - row number.
col - column number.
Returns:
format for the specified cell.

setLocal

public void setLocal(Locale loc)
Set the locale.


containsFormat

public final boolean containsFormat()
Check if contains format.

Specified by:
containsFormat in interface TableLens
Returns:
true if contains format.

containsDrill

public final boolean containsDrill()
Check if contains drill.

Specified by:
containsDrill in interface TableLens
Returns:
true if contains drill.

dispose

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

Specified by:
dispose in interface XTable

getColumnIdentifier

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

Specified by:
getColumnIdentifier in interface XTable
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.

setColumnIdentifier

public void setColumnIdentifier(int col,
                                String identifier)
Set the column identifier of a column.

Specified by:
setColumnIdentifier in interface XTable
Parameters:
col - the specified column index.
identifier - 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.

findColumnByIdentifier

public final int findColumnByIdentifier(String identifier)
Find the column by identifier.


isNull

public boolean isNull(int r,
                      int c)
Check if the value at one cell is null.

Specified by:
isNull in interface XTable
Parameters:
r - the specified row index.
c - column number.
Returns:
true if null, false otherwise.

isPrimitive

public boolean isPrimitive(int col)
Check if is primitive.

Specified by:
isPrimitive in interface XTable
Returns:
true if is primitive, false otherwise.

getDouble

public double getDouble(int r,
                        int c)
Get the double value in one row.

Specified by:
getDouble in interface XTable
Parameters:
r - the specified row index.
c - column number.
Returns:
the double value in the specified row.

getFloat

public float getFloat(int r,
                      int c)
Get the float value in one row.

Specified by:
getFloat in interface XTable
Parameters:
r - the specified row index.
c - column number.
Returns:
the float value in the specified row.

getLong

public long getLong(int r,
                    int c)
Get the long value in one row.

Specified by:
getLong in interface XTable
Parameters:
r - the specified row index.
c - column number.
Returns:
the long value in the specified row.

getInt

public int getInt(int r,
                  int c)
Get the int value in one row.

Specified by:
getInt in interface XTable
Parameters:
r - the specified row index.
c - column number.
Returns:
the int value in the specified row.

getShort

public short getShort(int r,
                      int c)
Get the short value in one row.

Specified by:
getShort in interface XTable
Parameters:
r - the specified row index.
c - column number.
Returns:
the short value in the specified row.

getByte

public byte getByte(int r,
                    int c)
Get the byte value in one row.

Specified by:
getByte in interface XTable
Parameters:
r - the specified row index.
c - column number.
Returns:
the byte value in the specified row.

getBoolean

public boolean getBoolean(int r,
                          int c)
Get the boolean value in one row.

Specified by:
getBoolean in interface XTable
Parameters:
r - the specified row index.
c - column number.
Returns:
the boolean value in the specified row.

setLeftAlign

public void setLeftAlign(boolean isLeft)
Set is left align true or false.


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