JClass DesktopViews 6.3.0 API
Documentation

com.klg.jclass.datasource
Interface DataTableModel

All Known Subinterfaces:
IdeDataTableModel
All Known Implementing Classes:
BaseDataTable, IdeDataTable, JCData, SummaryDataTable

public interface DataTableModel

This is the interface for data storage for the JClass DataSource datamodel. This data model will request data from instances of this table and will manipulate that data through this interface. That is, rows can then be added, deleted or updated through instances of its implementation.

To allow sorting of rows and columns, all operations access cell data using unique identifiers for rows and columns, rather than using row-column indexes.

Each instance of this class has its own cursor which can be navigated independently of the DataModel's global cursor. Only the global cursor (controlled by DataModel.moveToRow) causes commits to occur when the current row is changed. These methods do not cause the global cursor to change, only this table's private cursor.

See Also:
first(), last(), next(), previous(), beforeFirst(), afterLast(), isBeforeFirst(), isAfterLast(), relative(int), absolute(int), getCurrentBookmark(), DataModel.moveToRow(com.klg.jclass.datasource.DataModelListener, com.klg.jclass.datasource.DataTableModel, long)

Field Summary
static int COMMITTED
          This row has no changes pending and is identical to the data source row.
static int CURSOR_BEFORE_FIRST
          Table's private cursor is before the first row
static int DELETED
          This row has been logically deleted, but the delete has not yet been committed to the data source.
static int INSERTED
          This is a new (uncommitted) row.
static int NONEXISTENT
          This row does not exist in the model.
static long ROOT_BOOKMARK
          Root-level rows are a special case since they do not have parent rows.
static int ROW_NOT_FOUND
          ROW_NOT_FOUND during lookup
static int UPDATED
          One or more of this row's cells have been modified.
 
Method Summary
 void absolute(int ordinal_position)
          Moves this table's private cursor to this ordinal position.
 long addRow(com.klg.jclass.datasource.DataModelListener originator)
          Adds a empty row whose status will be INSERTED.
 long addRow(com.klg.jclass.datasource.DataModelListener originator, Object row)
          Adds a populated row whose status will be INSERTED.
 long addRow(com.klg.jclass.datasource.DataModelListener originator, Object row, int status)
          Adds a populated row whose status will be 'status'.
 long addRow(com.klg.jclass.datasource.DataModelListener originator, Object row, int status, int ordinal)
          Adds a populated row whose status will be 'status'.
 void afterLast()
          Positions this table's private cursor after the last row.
 void beforeFirst()
          Positions this table's private cursor before the first row.
 void cancelAllRowChanges(com.klg.jclass.datasource.DataModelListener originator)
          Do not use this internal method; call DataModel.cancelAll() instead.
 void cancelRowChanges(com.klg.jclass.datasource.DataModelListener originator, long bookmark)
          Cancels uncommited row changes.
 void clearEventQueue()
          Recursively clears pending events from a transaction.
 void commitAll(com.klg.jclass.datasource.DataModelListener originator)
          Do not use: internal method, call DataModel.updateAll() instead.
 boolean commitRow(com.klg.jclass.datasource.DataModelListener originator, long bookmark)
          Commits the row.
 void commitSubTree(com.klg.jclass.datasource.DataModelListener originator, long subTreeRootBookmark)
          Commit all pending changes in this subtree.
 void conditionallyCommitYourselfAndChildren(com.klg.jclass.datasource.DataModelListener originator)
          Do not use: internal method.
 Object createNewRow()
          Creates a new (blank) row that can be used as an argument to one of the addRow() methods.
 com.klg.jclass.datasource.DataTableModel createTable(com.klg.jclass.datasource.DataModelListener originator, long bookmark, TreeNode node)
          Creates and returns the DataTable which corresponds to the specifed row of this parent for the indicated child MetaData object.
 void deleteCacheChildren(com.klg.jclass.datasource.DataModelListener originator)
          Deletes the subtree of DataTables rooted with this DataTable as its root.
 void deleteRow(com.klg.jclass.datasource.DataModelListener originator, long bookmark)
          Deletes a row.
 boolean first()
          Positions this table's private cursor on the first row.
 void getAncestors(Vector ancestors)
          Returns a list of this DataTable's ancestor bookmarks.
 long getCurrentBookmark()
          Returns the bookmark of the row on which this table's private cursor is located.
 int getCursor()
          Gets the cursor of the data table model.
 long[] getDeletedRowBookmarks()
          Return a long array of logically deleted row bookmarks.
 long[] getInsertedRowBookmarks()
          Return a long array of inserted row bookmarks.
 Object getInternalData(Object user)
          For internal use only.
 com.klg.jclass.datasource.MetaDataModel getMetaData()
          Returns the MetaDataModel for this table.
 long getParentBookmark()
          Returns the parent bookmark for this table.
 Object getResultData(long bookmark, String column_identifer)
          Returns the object specified by the given bookmark and column identifier name.
 long getRootAncestorBookmark(long bookmark)
          Recurses up the tree and determine the row number of its ultimate ancestor.
 int getRowCount()
          Returns the number of rows in this DataTable.
 long getRowIdentifier(int row)
          Returns a long which will uniquely identify this row.
 int getRowIndex(long bookmark)
          Given a bookmark, return the zero-relative row index in this table
 int getRowStatus(long bookmark)
          Returns the status of a row which will be one of INSERTED, UPDATED, DELETED, COMMITTED, NONEXISTENT.
 com.klg.jclass.datasource.DataTableModel getTable(long bookmark, TreeNode node)
          Searches the existing children of this node for a child node which matches the input criteria.
 long[] getUpdatedRowBookmarks()
          Return a long array of updated row bookmarks.
 Object getUserData(Object user)
          Gets user data.
 boolean isAfterLast()
          Returns true if this table's private cursor is positioned after the last row.
 boolean isBeforeFirst()
          Returns true if this table's private cursor is positioned before first row.
 boolean isModified()
          Does this DataTableModel contain any pending inserts, updates or deletes?
 boolean isSubTreeModified(long subTreeRootBookmark)
          Does the subtree rooted at subTreeRootBookmark contain modified nodes? Modified means the row at subTreeRootBookmark or any of its child nodes has pending insert, update or delete changes.
 boolean isTableOrChildrenModified()
          Are there any modifications to this table or any of its child nodes?
 boolean last()
          Position this table's private cursor on the last row.
 void moveCursorToRow(long bookmark)
          Moves the cursor to the row indicated by the bookmark.
 void moveToRow(long bookmark)
          Internal method, do not use.
 boolean next()
          Advances this table's private cursor by one row.
 boolean previous()
          Positions this table's private cursor to the previous row.
 void processEventQueue(com.klg.jclass.datasource.DataModelListener originator)
          Recursively processes pending events from a transaction.
 void relative(int rows)
          Moves this table's private cursor forward or backward by "n" rows from the current position.
 com.klg.jclass.datasource.DataTableModel requeryLevel()
          Do not use: internal method.
 void requeryRow(com.klg.jclass.datasource.DataModelListener originator, long bookmark)
          Re-reads a row from the originating data source.
 void requeryRowAndDetails(com.klg.jclass.datasource.DataModelListener originator, long bookmark)
          Requeries a DataTable row and clear all its children.
 void requeryTable(com.klg.jclass.datasource.DataModelListener originator)
          Requery all rows in this table and collapse its child nodes.
 void setInternalData(Object user, Object data)
          For internal use only Sets internal data.
 void setUserData(Object user, Object data)
          Sets user data.
 boolean tableIsAncestor(com.klg.jclass.datasource.DataTableModel table)
          Given a DataTable, returns whether it is an ancestor of (or equal to) itself
 void updateCell(com.klg.jclass.datasource.DataModelListener originator, long bookmark, String column_identifer, Object value)
          Updates a cell.
 

Field Detail

UPDATED

public static final int UPDATED
One or more of this row's cells have been modified.

See Also:
Constant Field Values

INSERTED

public static final int INSERTED
This is a new (uncommitted) row.

See Also:
Constant Field Values

DELETED

public static final int DELETED
This row has been logically deleted, but the delete has not yet been committed to the data source.

See Also:
Constant Field Values

COMMITTED

public static final int COMMITTED
This row has no changes pending and is identical to the data source row.

See Also:
Constant Field Values

NONEXISTENT

public static final int NONEXISTENT
This row does not exist in the model. Either the bookmark is invalid or the row has been permanently deleted.

See Also:
Constant Field Values

ROOT_BOOKMARK

public static final long ROOT_BOOKMARK
Root-level rows are a special case since they do not have parent rows. This constant is used to indicate this.

See Also:
Constant Field Values

CURSOR_BEFORE_FIRST

public static final int CURSOR_BEFORE_FIRST
Table's private cursor is before the first row

See Also:
Constant Field Values

ROW_NOT_FOUND

public static final int ROW_NOT_FOUND
ROW_NOT_FOUND during lookup

See Also:
Constant Field Values
Method Detail

getRowCount

public int getRowCount()
Returns the number of rows in this DataTable.


getRowStatus

public int getRowStatus(long bookmark)
Returns the status of a row which will be one of INSERTED, UPDATED, DELETED, COMMITTED, NONEXISTENT.

Parameters:
bookmark - a long which uniquely identifies this row
Returns:
an int row status, will be one of INSERTED, UPDATED, DELETED, COMMITTED, NONEXISTENT.

getRowIdentifier

public long getRowIdentifier(int row)
Returns a long which will uniquely identify this row. Facilitates sorting: index changes, identifier remains constant.

Returns:
a unique long to identify this row from now on

getResultData

public Object getResultData(long bookmark,
                            String column_identifer)
                     throws DataModelException
Returns the object specified by the given bookmark and column identifier name.

Parameters:
bookmark - a long which uniquely identifies this row
Returns:
the Object in the specified cell
Throws:
DataModelException - If getResultData() fails.

createTable

public com.klg.jclass.datasource.DataTableModel createTable(com.klg.jclass.datasource.DataModelListener originator,
                                                            long bookmark,
                                                            TreeNode node)
                                                     throws DataModelException
Creates and returns the DataTable which corresponds to the specifed row of this parent for the indicated child MetaData object. Always returns a non-null DataTable. Creates new bookmarks for all returned rows. To retrieve an existing DataTable (and preserve bookmarks) call getTable() instead.

Parameters:
originator - the DataModelListener which initiated this action
bookmark - a long which uniquely identifies a row
Returns:
the child DataTableModel of results
Throws:
DataModelException - If createTable() fails.
See Also:
getTable(long, javax.swing.tree.TreeNode)

getTable

public com.klg.jclass.datasource.DataTableModel getTable(long bookmark,
                                                         TreeNode node)
Searches the existing children of this node for a child node which matches the input criteria. Return that node if it exists, null otherwise.

Parameters:
bookmark - a long which uniquely identifies a row
Returns:
the DataTable with matching bookmark and MetaDataModel otherwise, null.
See Also:
createTable(com.klg.jclass.datasource.DataModelListener, long, javax.swing.tree.TreeNode)

getMetaData

public com.klg.jclass.datasource.MetaDataModel getMetaData()
Returns the MetaDataModel for this table.

Returns:
the MetaDataModel Object for this table

getParentBookmark

public long getParentBookmark()
Returns the parent bookmark for this table. This is the immediate parent of this table.

Returns:
the bookmark of the parent row for this DataTable
See Also:
getRootAncestorBookmark(long), getAncestors(java.util.Vector)

createNewRow

public Object createNewRow()
                    throws DataModelException
Creates a new (blank) row that can be used as an argument to one of the addRow() methods.

Returns:
an Object which is the new row just added.
Throws:
DataModelException - If create fails.

addRow

public long addRow(com.klg.jclass.datasource.DataModelListener originator)
            throws DataModelException
Adds a empty row whose status will be INSERTED. Adds a blank row into which the user can input column data. The record is appended to this ResultSet. The record is saved to datasource when the user commits the surrounding transaction.

Fires BEFORE_INSERT_ROW and upon a successful row add AFTER_INSERT_ROW.

Parameters:
originator - the DataModelListener which initiated this action
Throws:
DataModelException - If row fails to be added.

addRow

public long addRow(com.klg.jclass.datasource.DataModelListener originator,
                   Object row,
                   int status)
            throws DataModelException
Adds a populated row whose status will be 'status'. Adds a pre-populated row whose status is dictated by the 'status' parameter.

Fires BEFORE_INSERT_ROW and upon a successful row add AFTER_INSERT_ROW.

Parameters:
row - an Object as defined by the interface, but used as an array by this implementation.
status - an int, one of,
  • DataTableModel.COMMITTED
  • DataTableModel.DELETED
  • DataTableModel.INSERTED
Throws:
DataModelException - If row fails to be added.

addRow

public long addRow(com.klg.jclass.datasource.DataModelListener originator,
                   Object row,
                   int status,
                   int ordinal)
            throws DataModelException
Adds a populated row whose status will be 'status'. Adds a pre-populated row whose status is dictated by the 'status' parameter.

Fires BEFORE_INSERT_ROW and upon a successful row add AFTER_INSERT_ROW.

Parameters:
row - an Object as defined by the interface, but used as an array by this implementation.
status - an int, one of,
  • DataTableModel.COMMITTED
  • DataTableModel.DELETED
  • DataTableModel.INSERTED
ordinal - the index position into which the row should be inserted
Throws:
DataModelException - If row fails to be added.

addRow

public long addRow(com.klg.jclass.datasource.DataModelListener originator,
                   Object row)
            throws DataModelException
Adds a populated row whose status will be INSERTED. Adds a pre-populated row. The record is appended to this ResultSet. The record is saved to datasource when the user commits the surrounding transaction.

Fires BEFORE_INSERT_ROW and upon a successful row add AFTER_INSERT_ROW.

Parameters:
originator - the DataModelListener which initiated this action
row - an Object as defined by the interface, but used as an array by this implementation.
Throws:
DataModelException - If row fails to be added.

deleteRow

public void deleteRow(com.klg.jclass.datasource.DataModelListener originator,
                      long bookmark)
               throws DataModelException
Deletes a row. Logically deletes a row by setting its status to DELETED. Will be deleted permanently upon commit, or restored on rollback.

Parameters:
originator - the DataModelListener which initiated this action
bookmark - a unique long indicating the row to be deleted.
Throws:
DataModelException - If logical delete fails.

updateCell

public void updateCell(com.klg.jclass.datasource.DataModelListener originator,
                       long bookmark,
                       String column_identifer,
                       Object value)
                throws DataModelException
Updates a cell. Calls setValueAt(). User has modified a cell. Call this method to inform this data source of that change. This method will then fire a DataTableEvent to inform listeners about this change. Internally a copy of the original row will be maintained which can be used if an update is cancelled. This row's status is set to UPDATED.

Parameters:
originator - the DataModelListener which initiated this action
bookmark - a unique long indicating in which row the change was made
column_identifer - a unique String indicating in which column the change occurred.
value - the Object to be placed in the cell
Throws:
DataModelException - If error occurs updating a cell.
See Also:
DataTableAbstractionLayer.setValueAt(long, java.lang.String, java.lang.Object)

commitRow

public boolean commitRow(com.klg.jclass.datasource.DataModelListener originator,
                         long bookmark)
                  throws DataModelException
Commits the row. Writes the row (new and/or modified) to the data source. Calls saveRow(), an implmentation specific method to save a row to the data source.

Parameters:
originator - the DataModelListener which initiated this action
bookmark - a unique long indicating which row to commit to the datasource.
Returns:
true if the commit succeeded, false if failed or was cancelled.
Throws:
DataModelException - If commit fails.
See Also:
DataTableAbstractionLayer.saveRow(long)

commitAll

public void commitAll(com.klg.jclass.datasource.DataModelListener originator)
               throws DataModelException
Do not use: internal method, call DataModel.updateAll() instead. Recursively commit all uncommited rows, regardless of commit policy. Used internally; to commit all changes call DataModel.updateAll(). Call commitRow for each new and/or modified row in this DataTable.

Parameters:
originator - the DataModelListener which initiated this action
Throws:
DataModelException - If any row fails to commit.
See Also:
DataModel.updateAll(com.klg.jclass.datasource.DataModelListener)

conditionallyCommitYourselfAndChildren

public void conditionallyCommitYourselfAndChildren(com.klg.jclass.datasource.DataModelListener originator)
                                            throws DataModelException
Do not use: internal method. Recurse on this node and each of its children and commit all changes in each if commitPolicy does not equal COMMIT_MANUALLY. Used internally. To commit all changes call DataModel.updateAll() instead.

Parameters:
originator - the DataModelListener which initiated this action
Throws:
DataModelException - If write to data source fails.

cancelAllRowChanges

public void cancelAllRowChanges(com.klg.jclass.datasource.DataModelListener originator)
                         throws DataModelException
Do not use this internal method; call DataModel.cancelAll() instead. Recursively cancels all uncommited rows. Restores original cell values for each uncommited row, for new rows remove them. Calls cancelRow for each uncommited row.

Parameters:
originator - the DataModelListener which initiated this action
Throws:
DataModelException - If changes can't be canceled.

cancelRowChanges

public void cancelRowChanges(com.klg.jclass.datasource.DataModelListener originator,
                             long bookmark)
                      throws DataModelException
Cancels uncommited row changes. Calls restoreRow(). Restores original cell values for this row, or if a new row remove it. Restores values from cache (rather than from originating data source) if supported in your environment. To re-read the row from the data source see requeryRow().

Parameters:
originator - the DataModelListener which initiated this action
bookmark - a unique long indicating which row to uncommit.
Throws:
DataModelException - If changes can't be canceled.
See Also:
DataTableAbstractionLayer.restoreRow(long), requeryRow(com.klg.jclass.datasource.DataModelListener, long)

getRootAncestorBookmark

public long getRootAncestorBookmark(long bookmark)
Recurses up the tree and determine the row number of its ultimate ancestor.

Parameters:
bookmark - a unique long for which the ultimate ancestor bookmark is to be determined
Returns:
a long indicating the bookmark of this DataTable's ultimate ancestor.
See Also:
getAncestors(java.util.Vector)

getAncestors

public void getAncestors(Vector ancestors)
Returns a list of this DataTable's ancestor bookmarks. The list is ordered from the root ancestor down to the node above this one.

Parameters:
ancestors - the Vector to be populated with ancestor bookmarks
Returns:
a Vector of ancestor bookmarks.

requeryRowAndDetails

public void requeryRowAndDetails(com.klg.jclass.datasource.DataModelListener originator,
                                 long bookmark)
                          throws DataModelException
Requeries a DataTable row and clear all its children. Deletes all child nodes then calls requeryRow().

Parameters:
originator - the DataModelListener which initiated this action
Returns:
this data table model
Throws:
DataModelException - If requery from server fails.

requeryRow

public void requeryRow(com.klg.jclass.datasource.DataModelListener originator,
                       long bookmark)
                throws DataModelException
Re-reads a row from the originating data source. Calls refreshRow(bookmark), the implementation specific method to refresh a row.

Parameters:
originator - the DataModelListener which initiated this action
bookmark - a long which uniquely identifies a row
Throws:
DataModelException - If requery from server fails.

requeryLevel

public com.klg.jclass.datasource.DataTableModel requeryLevel()
                                                      throws DataModelException
Do not use: internal method. Requeries the root DataTable. Refetches all rows in this DataTable from the originating data source. Only to be called on Root.

Returns:
this data table model
Throws:
DataModelException - If requery fails.

first

public boolean first()
Positions this table's private cursor on the first row.


last

public boolean last()
Position this table's private cursor on the last row.


next

public boolean next()
Advances this table's private cursor by one row. Returns true if there was a row to move forward to.

Returns:
true if move to next row succeeded.

previous

public boolean previous()
Positions this table's private cursor to the previous row. Return true if the move succeeds.


beforeFirst

public void beforeFirst()
Positions this table's private cursor before the first row.


afterLast

public void afterLast()
Positions this table's private cursor after the last row.


isBeforeFirst

public boolean isBeforeFirst()
Returns true if this table's private cursor is positioned before first row.

Returns:
true if cursor is positioned before first row, false otherwise.

isAfterLast

public boolean isAfterLast()
Returns true if this table's private cursor is positioned after the last row.

Returns:
true if the cursor is positioned after the last row, false otherwise.
See Also:
getCurrentBookmark()

relative

public void relative(int rows)
              throws DataModelException
Moves this table's private cursor forward or backward by "n" rows from the current position. Positive numbers move forward, negative backwards.

Throws:
DataModelException - If move fails.
See Also:
getCurrentBookmark()

absolute

public void absolute(int ordinal_position)
              throws DataModelException
Moves this table's private cursor to this ordinal position. Ordinal positions start at 1.

Parameters:
ordinal_position - an int indicating to which row to move
Throws:
DataModelException - If move fails.
See Also:
getCurrentBookmark()

getCurrentBookmark

public long getCurrentBookmark()
                        throws DataModelException
Returns the bookmark of the row on which this table's private cursor is located.

Each instance of this class has its own cursor which can be navigated independently of the DataModel's global cursor. Only the global cursor (controlled by DataModel.moveToRow) causes commits to occur when the current row is changed.

Returns:
the bookmark of the current row.
Throws:
DataModelException - If there are no rows or or an error occurs.
See Also:
first(), last(), next(), previous(), beforeFirst(), afterLast(), isBeforeFirst(), isAfterLast(), relative(int), absolute(int), DataModel.moveToRow(com.klg.jclass.datasource.DataModelListener, com.klg.jclass.datasource.DataTableModel, long)

getUserData

public Object getUserData(Object user)
Gets user data. Return the Object which was arbitrarily associated with this table.

Parameters:
user - an Object, a reference to the user.
Returns:
the user Object associated with this table.

setUserData

public void setUserData(Object user,
                        Object data)
Sets user data. Allow users to augment this table by associating an arbitrary Object reference with it.

Parameters:
user - an Object, a reference to the user.
data - an Object, an arbitrary reference to an Object.

getInternalData

public Object getInternalData(Object user)
For internal use only. Gets internal data. Return the Object which was arbitrarily associated with this table.

Parameters:
user - an Object, a reference to the user.
Returns:
the internal Object associated with this table.

setInternalData

public void setInternalData(Object user,
                            Object data)
For internal use only Sets internal data. Allow component writers to augment this table by associating an arbitrary Object reference with it.

Parameters:
user - an Object, a reference to the user.

processEventQueue

public void processEventQueue(com.klg.jclass.datasource.DataModelListener originator)
                       throws DataModelException
Recursively processes pending events from a transaction.

Parameters:
originator - the DataModelListener which initiated this action
Throws:
DataModelException - If changes can't be canceled.

clearEventQueue

public void clearEventQueue()
Recursively clears pending events from a transaction. Called when an exception occurs. Events are not dispatched; they are simply deleted.


moveCursorToRow

public void moveCursorToRow(long bookmark)
                     throws DataModelException
Moves the cursor to the row indicated by the bookmark.

Parameters:
bookmark - a long which uniquely identifies a row
Throws:
DataModelException - If move fails.

getCursor

public int getCursor()
Gets the cursor of the data table model. This is the current ordinal position of the cursor for this table.


getRowIndex

public int getRowIndex(long bookmark)
Given a bookmark, return the zero-relative row index in this table

Parameters:
bookmark - a long which uniquely identifies a row
Returns:
rowIndex a int which is the ordinal position of the row in this table

deleteCacheChildren

public void deleteCacheChildren(com.klg.jclass.datasource.DataModelListener originator)
                         throws DataModelException
Deletes the subtree of DataTables rooted with this DataTable as its root.

Throws:
DataModelException - If the subtree can't be deleted.
See Also:
MetaDataModel.getCacheChildren()

moveToRow

public void moveToRow(long bookmark)
               throws DataModelException
Internal method, do not use. Move the ide cursor to this row.

Parameters:
bookmark - a long which uniquely identifies a row.
Throws:
DataModelException - If move fails.

isSubTreeModified

public boolean isSubTreeModified(long subTreeRootBookmark)
Does the subtree rooted at subTreeRootBookmark contain modified nodes? Modified means the row at subTreeRootBookmark or any of its child nodes has pending insert, update or delete changes.

Parameters:
subTreeRootBookmark - a long, the bookmark of the row which is the root of the subtree to be checked.
Returns:
true if this subtree contains at least one modified node, false otherwise.

isTableOrChildrenModified

public boolean isTableOrChildrenModified()
Are there any modifications to this table or any of its child nodes?

Returns:
true if there are modifications to this table or any of its child nodes

commitSubTree

public void commitSubTree(com.klg.jclass.datasource.DataModelListener originator,
                          long subTreeRootBookmark)
                   throws DataModelException
Commit all pending changes in this subtree. Commits this row and all child nodes.

Parameters:
originator - the DataModelListener which initiated this action
subTreeRootBookmark - a long, the bookmark of the row which is the root of the subtree to be checked.
Throws:
DataModelException - If commit fails.

isModified

public boolean isModified()
Does this DataTableModel contain any pending inserts, updates or deletes?

Returns:
true if there are pending modifications, false otherwise.

getUpdatedRowBookmarks

public long[] getUpdatedRowBookmarks()
Return a long array of updated row bookmarks. These are the rows which have updates pending.

Returns:
a long[] of updated row bookmarks

getInsertedRowBookmarks

public long[] getInsertedRowBookmarks()
Return a long array of inserted row bookmarks. These are the rows which are inserted into the data model, but not yet persisted.

Returns:
a long[] of inserted row bookmarks

getDeletedRowBookmarks

public long[] getDeletedRowBookmarks()
Return a long array of logically deleted row bookmarks. These are the rows which are logically deleted, but not yet physically deleted from the originating data source.

Returns:
a long[] of logically deleted row bookmarks

tableIsAncestor

public boolean tableIsAncestor(com.klg.jclass.datasource.DataTableModel table)
Given a DataTable, returns whether it is an ancestor of (or equal to) itself

Parameters:
table - a DataTable which may be an ancestor
Returns:
true if the table is an ancestor

requeryTable

public void requeryTable(com.klg.jclass.datasource.DataModelListener originator)
                  throws DataModelException
Requery all rows in this table and collapse its child nodes.

Parameters:
originator - the DataModelListener which initiated this action
Throws:
DataModelException - If requery fails.

Copyright © 2004 Quest Software Inc..
All rights reserved.