public class IlvBufferFlatTableModel extends IlvDefaultFlatTableModel
IlvFlatTableModel that
buffers (caches) the data of a given IlvFlatTableModel.
It is meant to be used when the access to the original
IlvFlatTableModel is slow.
Changes in the underlying model are propagated to this model if and
only if the isNotifying method returns true.
Note: This model supports adding and removing rows and columns if and only
if the underlying IlvFlatTableModel is an instance of
IlvDefaultFlatTableModel.
BEFORE_COLUMN_REMOVED_MASK, BEFORE_DATA_CHANGE_MASK, BEFORE_ROWS_REMOVED_MASK| Constructor and Description |
|---|
IlvBufferFlatTableModel(IlvFlatTableModel model)
Creates a model that is fed by and caches the data of a given
IlvFlatTableModel. |
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Returns a copy of this object.
|
void |
disconnect()
Drops references to objects to help garbage collection.
|
void |
dispose()
Cleans up this model and drops references to objects to
help garbage collection.
|
int |
getSupportedEventsMask()
Returns a bit mask denoting the optional kinds of events that are guaranteed
to be sent by this model to the registered listeners.
|
void |
insertColumn(int columnIndex,
IlvDataColumnInfo column)
Adds a column to the model at a given index.
|
void |
insertColumn(int columnIndex,
IlvDataColumnInfo column,
double[] data)
Adds a column with given data to the model at a given index.
|
void |
insertColumn(int columnIndex,
IlvDataColumnInfo column,
Object[] data)
Adds a column with given data to the model at a given index.
|
void |
insertRow(int rowIndex,
Object[] rowData)
Adds a row to the model at a given index.
|
void |
insertRows(int rowIndex,
int count)
Adds some rows to the model at a given index.
|
protected boolean |
isColumnComputed(int columnIndex)
Returns
true if setValueAtInternal and setDoubleAtInternal on a given
column have no effect. |
boolean |
isNotifying()
Returns
true when this model is a dynamically updated cache
of the underlying model. |
void |
removeColumn(int columnIndex)
Removes a column from the model.
|
void |
removeRows(int rowIndex,
int count)
Removes some rows from the model.
|
void |
setColumnCount(int columnCount)
Sets the number of columns in the model.
|
protected boolean |
setDoubleAtInternal(double value,
int rowIndex,
int columnIndex,
boolean forReal)
Does the equivalent of a
setDoubleAt(). |
void |
setNotifying(boolean dynamic)
Determines whether this model is a dynamically updated cache of the
underlying event (and therefore also sends events when the underlying
model changes).
|
void |
setRowCount(int rowCount)
Sets the number of rows in the model.
|
protected boolean |
setValueAtInternal(Object value,
int rowIndex,
int columnIndex,
boolean forReal)
Does the equivalent of a
setValueAt(). |
addRow, addRow, getDoubleAt, getRowCount, getValueAt, insertRow, removeRowaddColumn, addColumn, addColumn, createColumnStorage, fireModelEvent, getColumn, getColumnCount, getColumns, setColumn, setColumns, setDoubleAt, setValueAtaddFlatTableModelListener, convertToDouble, endBatch, removeFlatTableModelListener, startBatchpublic IlvBufferFlatTableModel(IlvFlatTableModel model)
IlvFlatTableModel.protected boolean setValueAtInternal(Object value, int rowIndex, int columnIndex, boolean forReal)
setValueAt(). Instead of notifying it simply returns
a boolean indicating whether notification should be done.
If forReal is false, the value is not actually set, but the
method still returns the same Boolean, specifying whether the given value is
different from the previous one.
setValueAtInternal in class IlvDefaultFlatTableModelprotected boolean setDoubleAtInternal(double value,
int rowIndex,
int columnIndex,
boolean forReal)
setDoubleAt(). Instead of notifying it simply returns
a boolean indicating whether notification should be done.
If forReal is false, the value is not actually set, but the
method still returns the same Boolean, specifying whether the given value is
different from the previous one.
setDoubleAtInternal in class IlvDefaultFlatTableModelprotected boolean isColumnComputed(int columnIndex)
true if setValueAtInternal and setDoubleAtInternal on a given
column have no effect.isColumnComputed in class IlvBasicFlatTableModelpublic int getSupportedEventsMask()
This implementation returns
BEFORE_DATA_CHANGE_MASK | BEFORE_ROWS_REMOVED_MASK | BEFORE_COLUMN_REMOVED_MASK.
It may need to be overridden in subclasses.
getSupportedEventsMask in interface IlvFlatTableModelgetSupportedEventsMask in class IlvDefaultFlatTableModelIlvFlatTableModel.BEFORE_DATA_CHANGE_MASK,
IlvFlatTableModel.BEFORE_ROWS_REMOVED_MASK,
IlvFlatTableModel.BEFORE_COLUMN_REMOVED_MASKpublic void setRowCount(int rowCount)
rowCount
and greater are discarded.setRowCount in class IlvDefaultFlatTableModelrowCount - The new number of rows.public void insertRows(int rowIndex,
int count)
insertRows in class IlvDefaultFlatTableModelrowIndex - The first new row desired index, must be >= 0 and
<= getRowCount().count - The number of rows to be inserted.public void insertRow(int rowIndex,
Object[] rowData)
insertRow in class IlvDefaultFlatTableModelrowIndex - The new row desired index, must be >= 0 and
<= getRowCount().rowData - The initial data of this row, must be an array of
getColumnCount() elements.public void removeRows(int rowIndex,
int count)
removeRows in class IlvDefaultFlatTableModelrowIndex - The first old row index, must be >= 0 and
<= getRowCount() - count.count - The number of rows to be removed.public void setColumnCount(int columnCount)
columnCount and greater are discarded.setColumnCount in class IlvBasicFlatTableModelcolumnCount - The new number of columns.public void insertColumn(int columnIndex,
IlvDataColumnInfo column)
insertColumn in class IlvBasicFlatTableModelcolumnIndex - The new column desired index, must be >= 0 and
<= getColumnCount().column - The metainformation of this column.public void insertColumn(int columnIndex,
IlvDataColumnInfo column,
Object[] data)
insertColumn in class IlvBasicFlatTableModelcolumnIndex - The new column desired index, must be >= 0 and
<= getColumnCount().column - The metainformation of this column.data - The initial data of this column. This should be an array
of at least getRowCount() elements. Unused if
the column is a computed column.public void insertColumn(int columnIndex,
IlvDataColumnInfo column,
double[] data)
insertColumn in class IlvBasicFlatTableModelcolumnIndex - The new column desired index, must be >= 0 and
<= getColumnCount().column - The metainformation of this column.data - The initial data of this column. This should be an array
of at least getRowCount() elements. Unused if
the column is a computed column.public void removeColumn(int columnIndex)
removeColumn in class IlvBasicFlatTableModelcolumnIndex - The column index, must be >= 0 and
< getColumnCount().public boolean isNotifying()
true when this model is a dynamically updated cache
of the underlying model. Returns false when this model is
a snapshot buffer of the underlying model.setNotifying(boolean)public void setNotifying(boolean dynamic)
Note: Calling setNotifying(true) after notification was
turned off has the effect of bringing the entire cache up to date;
this can be an expensive operation.
isNotifying()public void dispose()
Note: After calling this function, this model is no longer functional.
dispose in class IlvBasicFlatTableModelpublic void disconnect()
Note: After calling this function, and after some changes occurred in the underlying model or columns, this model is no longer functional.
disconnect in class IlvBasicFlatTableModelpublic Object clone()
clone in class IlvDefaultFlatTableModel© Copyright Rogue Wave Software, Inc. 1997, 2017. All Rights Reserved.