Interface TableChooserExecutor
TableChooserDialog
. This class is the
callback that is used to process items from the dialog's table as users select one or more
rows in the table and then press the table's "apply" button.-
Method Summary
Modifier and TypeMethodDescriptionboolean
execute
(AddressableRowObject rowObject) Applies this executors action to the given rowObject.default boolean
executeInBulk
(List<AddressableRowObject> rowObjects, List<AddressableRowObject> deleted, TaskMonitor monitor) A callback that clients can choose to use instead ofexecute(AddressableRowObject)
.A short name suitable for display in the "apply" button that indicates what the "apply" action does.
-
Method Details
-
getButtonName
String getButtonName()A short name suitable for display in the "apply" button that indicates what the "apply" action does.- Returns:
- A short name suitable for display in the "apply" button that indicates what the "apply" action does.
-
execute
Applies this executors action to the given rowObject. Return true if the given object should be removed from the table.This method call will be wrapped in a transaction so the client does not have to do so. Multiple selected rows will all be processed in a single transaction.
- Parameters:
rowObject
- the AddressRowObject to be executed upon- Returns:
- true if the rowObject should be removed from the table, false otherwise
-
executeInBulk
default boolean executeInBulk(List<AddressableRowObject> rowObjects, List<AddressableRowObject> deleted, TaskMonitor monitor) A callback that clients can choose to use instead ofexecute(AddressableRowObject)
.To use this method, simply override it to perform work on each item passed in. Due to supporting backward compatibility, clients still have to implement
execute(AddressableRowObject)
. When usingexecuteInBulk(List, List, TaskMonitor)
, simply implementexecute(AddressableRowObject)
as a do-nothing method.You are responsible for checking the cancelled state of the task monitor by calling
TaskMonitor.isCancelled()
. This allows long-running operations to be cancelled. You should also callTaskMonitor.incrementProgress(long)
as you process each item in order to show progress in the UI.Note: the
execute(AddressableRowObject)
method is only called with items that are still in the dialog's table model. Some clients may programmatically manipulate the table model by removing row objects via the dialog's add/remove methods. Theexecute(AddressableRowObject)
method is only called for items that still exist in the model. Contrastingly, this version of execute offers no such protection. Thus, if you manipulate the table model yourself, you also need to ensure that any items you process in this method are still in the dialog. To see if the item is still in the dialog, callTableChooserDialog.contains(AddressableRowObject)
.- Parameters:
rowObjects
- the objects to be processeddeleted
- place any items to be removed from the table into this listmonitor
- the task monitor- Returns:
- true if you wish to execute items in bulk; always return true from this method if you override it
-