Package com.storedobject.ui
Class ObjectBrowser<T extends StoredObject>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.grid.Grid<T>
com.storedobject.vaadin.DataGrid<T>
com.storedobject.vaadin.ListGrid<T>
com.storedobject.ui.DataGrid<T>
com.storedobject.ui.ObjectListGrid<T>
com.storedobject.ui.ObjectGrid<T>
com.storedobject.ui.ObjectBrowser<T>
- Type Parameters:
T- The type of the object that this browser will handle.
- All Implemented Interfaces:
Executable,Reentrant,FilterMethods<T>,HasLogic,ObjectLoader<T>,ObjectSearcher<T>,ObjectSetter<T>,ObjectsSetter<T>,EditableDataGrid<T>,ObjectEditorListener,ObjectGridData<T,,T> ObjectLoader<T>,Transactional,ViewFilterSupport<T>,ClickHandler,ExecutableView,HasColumns<T>,SupportWindowMode,ValueChangeHandler,com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.grid.Grid<T>>,com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.ClickEvent<? extends com.vaadin.flow.component.Component>>,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.Focusable<com.vaadin.flow.component.grid.Grid<T>>,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.grid.Grid<T>>,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasEnabled,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,com.vaadin.flow.component.HasTheme,com.vaadin.flow.component.HasValue.ValueChangeListener,com.vaadin.flow.data.event.SortEvent.SortNotifier<com.vaadin.flow.component.grid.Grid<T>,,com.vaadin.flow.component.grid.GridSortOrder<T>> com.vaadin.flow.data.provider.HasDataGenerators<T>,com.vaadin.flow.data.provider.HasDataView<T,,Void, com.vaadin.flow.component.grid.dataview.GridDataView<T>> com.vaadin.flow.data.provider.HasLazyDataView<T,,Void, com.vaadin.flow.component.grid.dataview.GridLazyDataView<T>> com.vaadin.flow.data.provider.HasListDataView<T,,com.vaadin.flow.component.grid.dataview.GridListDataView<T>> Serializable,Iterable<T>,Runnable,Collection<T>,EventListener,Consumer<T>,List<T>,SequencedCollection<T>
- Direct Known Subclasses:
AbstractInvoiceBrowser,AbstractRequestMaterial,AbstractSendAndReceiveMaterial,ApproveTransaction,CrossServerManager,GRN,InquiryBrowser,JournalVoucherBrowser,ManageBiometric,ObjectBrowserEditor,ObjectBrowserViewer,ObjectSearchBrowser,PackingUnitBrowser,POBrowser,RestrictedSystemUserBrowser,SystemUserGroupBrowser,TextContentBrowser,UnitDefinitionBrowser
public class ObjectBrowser<T extends StoredObject>
extends ObjectGrid<T>
implements EditableDataGrid<T>, ObjectEditorListener
A specialized grid-based component designed for browsing, editing, and managing objects of a specified class.
This class provides a rich set of features for handling object data such as searching, filtering, editing,
and various actions. It is highly customizable and allows integration with custom editors and logic.
- Author:
- Syam
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vaadin.flow.component.grid.Grid
com.vaadin.flow.component.grid.Grid.AbstractGridExtension<T>, com.vaadin.flow.component.grid.Grid.Column<T>, com.vaadin.flow.component.grid.Grid.DataCommunicatorBuilder<T,U extends com.vaadin.flow.data.provider.ArrayUpdater>, com.vaadin.flow.component.grid.Grid.MultiSortPriority, com.vaadin.flow.component.grid.Grid.NestedNullBehavior, com.vaadin.flow.component.grid.Grid.SelectionMode, com.vaadin.flow.component.grid.Grid.SpringData, com.vaadin.flow.component.grid.Grid.UpdateQueue Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
com.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.storedobject.vaadin.ClickHandler
ClickHandler.ModifiedClickEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
com.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.storedobject.vaadin.HasColumns
HasColumns.SOGrid<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected final ButtonLayoutRepresents a layout container for managing and organizing button components within the ObjectBrowser UI.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected PrintButtonRepresents a button used to trigger a print action within the ObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser.protected ButtonThe "Add" button associated with this instance of theObjectBrowser. -
Constructor Summary
ConstructorsModifierConstructorDescriptionObjectBrowser(Class<T> objectClass) Creates an instance of the ObjectBrowser with a specified object class.ObjectBrowser(Class<T> objectClass, int actions) Constructs an ObjectBrowser instance with the specified object type and defined actions.ObjectBrowser(Class<T> objectClass, int actions, SearchBuilder<T> searchBuilder) Constructs an ObjectBrowser with the specified object class, actions, and search builder.ObjectBrowser(Class<T> objectClass, int actions, String caption) Constructs an ObjectBrowser for a specific object type with the specified actions and a custom caption.ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns) Constructs an ObjectBrowser instance for the specified object class and columns to browse.ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions) Constructs an ObjectBrowser for browsing objects of the specified class.ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, SearchBuilder<T> searchBuilder) Constructs an instance ofObjectBrowserwith the specified parameters.ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, SearchBuilder<T> searchBuilder, String caption) Constructs an ObjectBrowser instance with specified parameters.protectedObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, SearchBuilder<T> searchBuilder, String caption, String allowedActions) Constructs an instance of ObjectBrowser with specified parameters.ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns) Constructs an ObjectBrowser instance to facilitate browsing, filtering, and performing actions on a set of objects.ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns, String caption) Constructs an ObjectBrowser instance with the provided parameters.protectedObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns, String caption, String allowedActions) Creates an ObjectBrowser for managing objects of a specific class with defined browsing columns, actions, filterable columns, caption, and allowed actions.Constructs an ObjectBrowser instance with the specified parameters.ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, SearchBuilder<T> searchBuilder) Constructs an ObjectBrowser instance with the given object class, browse columns, and search builder.Constructs an ObjectBrowser instance with the specified object class, browse columns, and filter columns, applying a default action set.ObjectBrowser(Class<T> objectClass, String caption) Creates an ObjectBrowser instance with the specified object class and a caption.ObjectBrowser(String className) Constructs an ObjectBrowser instance for the specified class name. -
Method Summary
Modifier and TypeMethodDescriptionbooleanactionAllowed(String action) Determines whether the specified action is allowed.protected voidConfigures and adds additional buttons to the user interface.voidThis method is invoked when anchor fields are created for the first time.protected voidThis method will be invoked if the "Cancel" button is pressed on the anchor form.protected voidThis method is invoked when anchor values are set via the anchor form, and if any exception is thrown from this method, anchor values will be asked again.protected booleancanAdd()Determines if an item can be added based on the current logic or conditions.voidCancels the editing process for the currently edited row in the table.booleancanRowEdit(T item) Determines if the specified row can be edited based on the given item.voidclicked(com.vaadin.flow.component.Component c) Handles the clicked event for a given component.voidclose()Closes the current instance and performs cleanup operations if necessary.protected ObjectEditor<T> Constructs and returns an instance of ObjectEditor for managing and editing objects of type T.static <O extends StoredObject>
ObjectBrowser<O> Creates anObjectBrowserinstance for the specified class type.static <O extends StoredObject>
ObjectBrowser<O> Creates and returns an instance of ObjectBrowser for the specified object class and actions.static <O extends StoredObject>
ObjectBrowser<O> Creates a new instance of ObjectBrowser for the specified object class with the given actions and title.static <O extends StoredObject>
ObjectBrowser<O> Creates an instance of ObjectBrowser for the given object class, browse columns, and actions.static <O extends StoredObject>
ObjectBrowser<O> create(Class<O> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns) Creates an instance of ObjectBrowser for the specified object class with the given configuration.static <O extends StoredObject>
ObjectBrowser<O> create(Class<O> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns, String title) Creates an instance ofObjectBrowser<O>based on the provided parameters and available constructors for the corresponding logic class.static <O extends StoredObject>
ObjectBrowser<O> Creates an instance of ObjectBrowser for the specified object class.protected final com.vaadin.flow.component.grid.editor.Editor<T> Creates and returns a new editor instance.protected voidA protected method designed to create and initialize additional buttons that might be required for enhancing the user interface functionality.com.vaadin.flow.component.ComponentCreates and returns the header component of the user interface.protected ObjectEditor<T> Creates and returns an instance of ObjectEditor for managing the editing of objects of type T.voiddoAdd()Executes the add operation by checking whether the operation is allowed using the canAdd method.voidDeletes the specified object if it is not null.voidEdits the specified object if it is editable.voiddoReport()Executes a reporting operation by creating and managing an instance of ObjectList.voidHandles the view operation for the given object.voidEdits the specified row in the data set.voidexecuteAnchorForm(Runnable action) Execute the "anchor form" and run some specified action.voidextraInfoCreated(T object, StoredObject extraInfo) This is invoked when an "Extra Information" instance is created.voidextraInfoLoaded(T object, StoredObject extraInfo) This is invoked when an existing "Extra Information" instance is loaded for the current object.protected intfilterActions(int actions) Filters the provided set of actions and returns the result.final TRetrieves the item currently being edited.Gets the action to be executed when an exit event is triggered.final LogicgetLogic()Retrieves the logic instance associated with this object.final ObjectEditor<T> Retrieves the ObjectEditor instance.final ObjectEditor<T> Retrieves the row editor for the current object type.Retrieves the search builder associated with the load filter buttons.com.vaadin.flow.component.ComponentReturns the primary view component to be used for rendering.booleanisColumnEditable(String columnName) Determines if a column with the specified name is editable.final booleanChecks if the current object is in a read-only state.booleanDetermines if the object is in search mode.protected List<com.vaadin.flow.component.Component> List of more buttons to be added to thePrintButton, in addition to the configured buttons.voidload(int linkType, StoredObject master, String condition, String orderedBy, boolean any) Loads data based on the specified parameters.voidLoads data based on the specified condition, ordering, and flag.voidpostLedger(T object) Posts the given object to the ledger if it meets the required conditions.voidReset the anchor values so that it will be asked again for the next add/search actions.voidrowDoubleClicked(T object) Handles the event of a row being double-clicked.voidSaves the currently edited row if an editor is active and there is an item being edited.voidsavingExtraInfo(T object, StoredObject extraInfo) This is invoked when an existing "Extra Information" instance is being saved.selected()Determines the currently selected item.voidsetCaption(String caption) Sets the caption for an object.voidsetExitAction(Runnable exitAction) Sets the action to be executed when an exit event is triggered.final voidSets the provided Logic instance if it has not been set already.voidsetObjectEditor(ObjectEditor<T> editor) Sets the ObjectEditor for managing the editing process of the object.voidsetReadOnly(boolean readOnly) Sets the read-only state for the current object.voidConfigures and sets up a split view layout for the current component.Stream<com.vaadin.flow.component.HasValue<?, ?>> Streams all editable fields in the current context.voidvalidateAnchorValues(T object) Validate the anchor values.Methods inherited from class com.storedobject.ui.ObjectGrid
search, setObjectSetterMethods inherited from class com.storedobject.ui.ObjectListGrid
addObjectChangedListener, configure, createListDataProvider, doDeleteAction, doInsertAction, doUndeleteAction, doUpdateAction, getApplication, getDataProvider, getDelegatedLoader, isValid, load, load, loaded, removeObjectChangedListener, setProcessor, setViewFilterMethods inherited from class com.storedobject.ui.DataGrid
append, canAllowAction, doAppendAction, doReloadAction, doReloadAllAction, getActionPrefix, getObjectClass, itemAppended, itemDeleted, itemInserted, itemReloaded, itemUndeleted, itemUpdated, load, selected, setItems, setItems, setItems, setItems, setItems, setItems, setItems, setItems, sort, sort, validateAppend, validateDelete, validateInsert, validateReload, validateUndelete, validateUpdateMethods inherited from class com.storedobject.vaadin.ListGrid
add, add, addAll, addAll, addViewFilter, clear, clearViewFilters, contains, containsAll, get, getData, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, onAttach, onDetach, remove, remove, removeAll, removeIf, replaceAll, retainAll, set, setData, size, subList, toArray, toArrayMethods inherited from class com.storedobject.vaadin.DataGrid
addConstructedListener, appendFooter, clearConstructedListeners, getColumnByKey, getColumns, getSOGrid, isColumnReorderingAllowed, setColumnReorderingAllowed, streamConstructedListenersMethods inherited from class com.vaadin.flow.component.grid.Grid
addCellFocusListener, addColumn, addColumn, addColumn, addColumn, addColumn, addColumn, addColumn, addColumnReorderListener, addColumnResizeListener, addColumns, addComponentColumn, addContextMenu, addDataGenerator, addDragEndListener, addDragStartListener, addDropListener, addFirstHeaderRow, addItemClickListener, addItemDoubleClickListener, addSelectionListener, addSortListener, addThemeVariants, addValueProvider, appendFooterRow, appendHeaderRow, asMultiSelect, asSingleSelect, compareMaybeComparables, configureBeanType, createColumn, createColumnId, createDefaultArrayUpdater, createSortingComparator, deselect, deselectAll, getAriaLabel, getArrayUpdater, getBeanType, getClassNameGenerator, getColumnByInternalId, getColumnLayers, getColumnRendering, getDataCommunicator, getDefaultColumnFactory, getDefaultHeaderRow, getDragFilter, getDropFilter, getDropMode, getEditor, getEmptyStateComponent, getEmptyStateText, getFooterRows, getGenericDataView, getHeaderRows, getLazyDataView, getListDataView, getNestedNullBehavior, getPageSize, getPartNameGenerator, getPropertySet, getSelectedItems, getSelectionMode, getSelectionModel, getSelectionPreservationMode, getSortOrder, getTooltipPosition, getUniqueKeyProperty, getUniqueKeyProvider, initConnector, insertColumnLayer, isAllRowsVisible, isDetailsVisible, isDetailsVisibleOnClick, isMultiSort, isRowsDraggable, onDataProviderChange, onEnabledStateChanged, prependFooterRow, prependHeaderRow, recalculateColumnWidths, removeAllColumns, removeAllFooterRows, removeAllHeaderRows, removeColumn, removeColumnByKey, removeColumnLayer, removeColumns, removeFooterRow, removeHeaderRow, removeThemeVariants, scrollToEnd, scrollToIndex, scrollToItem, scrollToStart, select, setAllRowsVisible, setAriaLabel, setClassNameGenerator, setColumnKey, setColumnOrder, setColumnOrder, setColumnRendering, setColumns, setDataProvider, setDefaultMultiSortPriority, setDetailsVisible, setDetailsVisibleOnClick, setDragDataGenerator, setDragFilter, setDropFilter, setDropMode, setEmptyStateComponent, setEmptyStateText, setItemDetailsRenderer, setItemSelectableProvider, setItemsPageable, setItemsPageable, setMultiSort, setMultiSort, setMultiSort, setMultiSort, setNestedNullBehavior, setPageSize, setPartNameGenerator, setRowsDraggable, setSelectionDragDetails, setSelectionMode, setSelectionModel, setSelectionPreservationMode, setSortableColumns, setTooltipGenerator, setTooltipPosition, setUniqueKeyProperty, setUniqueKeyProvider, updateSelectionModeOnClientMethods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListenerMethods inherited from interface com.storedobject.vaadin.ClickHandler
clicked, doubleClicked, onComponentEvent, rightClickedMethods inherited from interface java.util.Collection
parallelStream, stream, toArrayMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.storedobject.ui.EditableDataGrid
canDelete, canEdit, canPostLedger, canViewLedgerMethods inherited from interface com.storedobject.common.Executable
actMethods inherited from interface com.storedobject.vaadin.ExecutableView
abort, clean, createMenuItem, error, execute, execute, getMenuIconName, getMenuItem, getView, invoke, isCloseable, isFullScreen, isHomeView, log, log, message, returnedFrom, run, setClickable, speak, trackValueChange, tray, valueChanged, warningMethods inherited from interface com.storedobject.core.FilterMethods
getFilterCondition, setFilter, setFilter, setFilter, setFilter, setFilter, setFilter, setLoadFilter, setLoadFilter, setViewFilter, setViewFilterMethods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListenerMethods inherited from interface com.storedobject.vaadin.HasColumns
addConstructedListener, addItemSelectedListener, addItemsSelectedListener, appendFooter, appendHeader, clearAlerts, clearConstructedListeners, compact, configure, constructed, createColumn, createColumn, createColumn, createColumn, createColumn, createComponentColumn, createDecoratedWindow, createFooters, createHeaders, createHierarchyColumn, createHTMLColumn, createHTMLHierarchyColumn, createView, customizeColumn, customizeRenderer, deselect, deselect, executing, getApplication, getCaption, getColumn, getColumnCaption, getColumnCount, getColumnDetail, getColumnFunction, getColumnHeaderComponent, getColumnMethodName, getColumnNames, getColumnOrder, getColumnSorter, getColumnTemplate, getConfigureButton, getDataClass, getDefinedColumnCount, getFixedColumnWidth, getMenuItem, getObjectRendered, getObjectUnwrapped, getRelativeColumnWidth, getRenderedColumnNames, getSelected, getSOGrid, getTextAlign, getView, ignoreCaseForColumnSorting, includeColumn, isColumnFrozen, isColumnResizable, isColumnSortable, isColumnVisible, prependFooter, prependHeader, refresh, refresh, refresh, removeItemSelectedListener, render, select, select, setColumnFrozen, setColumnResizable, setColumnVisible, setMethodHandlerHost, sort, sort, sortOrder, sortOrder, streamConstructedListeners, unwrapMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeNameMethods inherited from interface java.util.List
addFirst, addLast, equals, getFirst, getLast, hashCode, removeFirst, removeLast, reversed, spliteratorMethods inherited from interface com.storedobject.ui.ObjectEditorListener
editingCancelled, editingEnded, editingStartedMethods inherited from interface com.storedobject.ui.ObjectGridData
canSearch, convert, createSearchBuilder, deselect, deselectAll, doLoad, getEntityFilter, getItem, getLoadFilter, getObjectClass, getObjectCount, getSelectionModel, isAllowAny, populate, populate, populate, resetSearch, scrollTo, search, search, search, select, setLoadFilter, setObject, setObjectConsumer, setObjectConsumer, setObjects, setSelectionMode, validateFilterConditionMethods inherited from interface com.storedobject.core.ObjectLoader
applyFilter, canContain, clear, getAllowAny, getLinkType, getMaster, getObjectClass, getOrderBy, isAllowAny, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, reload, setLinkType, setLinkType, setMaster, setMaster, setOrderBy, setOrderByMethods inherited from interface com.storedobject.ui.ObjectLoader
addDataLoadedListener, applyFilterPredicate, clear, get, getCacheLevel, getDelegatedLoader, getEffectiveCondition, getFixedFilter, getLoadFilter, getObjectCount, indexOf, load, setExtraFilter, setExtraFilter, setFilter, setFilter, setFixedFilter, setFixedFilter, setFixedFilter, setFixedFilter, size, streamAll, streamFilteredMethods inherited from interface com.storedobject.core.ObjectSetter
accept, setObjectMethods inherited from interface com.storedobject.common.Reentrant
isReentrantMethods inherited from interface com.storedobject.vaadin.util.SupportWindowMode
createWindowMethods inherited from interface com.storedobject.ui.Transactional
commit, execute, getTransactionManager, run, transact, transact, transactControl, transactControl, transactControl, transactControlMethods inherited from interface com.storedobject.vaadin.ValueChangeHandler
valueChangedMethods inherited from interface com.storedobject.ui.util.ViewFilterSupport
configure, configure, configureMatch, filterView, getViewFilter
-
Field Details
-
buttonPanel
Represents a layout container for managing and organizing button components within the ObjectBrowser UI. This variable is a final instance ensuring consistency throughout the lifecycle of the ObjectBrowser. It provides a structured mechanism to handle button-related components efficiently. -
print
Represents a button used to trigger a print action within the ObjectBrowser. This button is used to facilitate printing of data or output managed by the ObjectBrowser component. -
add
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
edit
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
delete
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
search
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
filter
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
load
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
view
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
report
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
excel
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
audit
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
exit
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
save
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
cancel
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser. -
ledger
The "Add" button associated with this instance of theObjectBrowser. This button is typically used to initiate an "add" operation, allowing users to add a new object or item to the data displayed or managed by the browser.
-
-
Constructor Details
-
ObjectBrowser
-
ObjectBrowser
Creates an ObjectBrowser instance with the specified object class and a caption. This constructor assumes all actions are allowed.- Parameters:
objectClass- The class of the objects to be browsed.caption- The caption to display for this browser.
-
ObjectBrowser
Constructs an ObjectBrowser instance for the specified object class and columns to browse.- Parameters:
objectClass- The class of the objects to be displayed in the browser.browseColumns- An iterable containing the column names to be included in the browsing view.
-
ObjectBrowser
public ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, Iterable<String> filterColumns) Constructs an ObjectBrowser instance with the specified object class, browse columns, and filter columns, applying a default action set.- Parameters:
objectClass- The class of the objects to be browsed.browseColumns- An iterable collection of column names to be displayed in the browser.filterColumns- An iterable collection of column names to be used as filters in the browser.
-
ObjectBrowser
public ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, SearchBuilder<T> searchBuilder) Constructs an ObjectBrowser instance with the given object class, browse columns, and search builder.- Parameters:
objectClass- The class type of the objects to be displayed and managed by this ObjectBrowser.browseColumns- An iterable list of column names to be included for browsing in this ObjectBrowser.searchBuilder- A SearchBuilder implementation that will be used for creating object search functionality.
-
ObjectBrowser
Constructs an ObjectBrowser instance with the specified object type and defined actions. Delegates to another constructor with a null caption parameter.- Parameters:
objectClass- The class type of the objects to be browsed.actions- An integer representing the set of actions allowed on the objects.
-
ObjectBrowser
Constructs an ObjectBrowser with the specified object class, actions, and search builder.- Parameters:
objectClass- The class type of the object to be managed within the browser.actions- The action flags defining the allowed operations in the browser.searchBuilder- The search builder to use for creating custom search functionalities.
-
ObjectBrowser
Constructs an ObjectBrowser for a specific object type with the specified actions and a custom caption.- Parameters:
objectClass- The class of the objects to be browsed.actions- Bitmask representing the actions allowed (e.g., add, edit, delete, view, etc.).caption- The title or label to be displayed for the ObjectBrowser.
-
ObjectBrowser
Constructs an ObjectBrowser for browsing objects of the specified class.- Parameters:
objectClass- the class of objects to be browsedbrowseColumns- the collection of column names to be used for browsingactions- the flags representing the actions to be performed on the browsed objects
-
ObjectBrowser
public ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns) Constructs an ObjectBrowser instance to facilitate browsing, filtering, and performing actions on a set of objects.- Parameters:
objectClass- the class type of the objects to be browsedbrowseColumns- an iterable set of column names to be displayed while browsingactions- an integer representing the actions that can be performed on the objectsfilterColumns- an iterable set of column names that can be used for filtering
-
ObjectBrowser
public ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, SearchBuilder<T> searchBuilder) Constructs an instance ofObjectBrowserwith the specified parameters.- Parameters:
objectClass- The class of objects to be displayed in the browser.browseColumns- A collection of column names to be displayed in the browser.actions- An integer representing the actions allowed on the objects (e.g., add, edit, delete).searchBuilder- ASearchBuilderinstance that defines the logic for creating a search builder.
-
ObjectBrowser
public ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, String caption) Constructs an ObjectBrowser instance with the specified parameters.- Parameters:
objectClass- the class type of the object to be browsedbrowseColumns- an iterable collection of column names to be displayed in the browseractions- an integer representing the actions available in the browsercaption- a string representing the caption or title for the browser
-
ObjectBrowser
public ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns, String caption) Constructs an ObjectBrowser instance with the provided parameters.- Parameters:
objectClass- The class type of the objects being browsed.browseColumns- The columns to be displayed for browsing purposes.actions- The actions allowed for objects being browsed.filterColumns- The columns to be used for filtering purposes.caption- The caption or title of the ObjectBrowser.
-
ObjectBrowser
public ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, SearchBuilder<T> searchBuilder, String caption) Constructs an ObjectBrowser instance with specified parameters.- Parameters:
objectClass- the class type of the objects to browsebrowseColumns- the columns to be displayed for browsingactions- the action flags to be used for object operationssearchBuilder- the search builder responsible for creating search queriescaption- the caption or title of the browser
-
ObjectBrowser
protected ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns, String caption, String allowedActions) Creates an ObjectBrowser for managing objects of a specific class with defined browsing columns, actions, filterable columns, caption, and allowed actions.- Parameters:
objectClass- The class type of the objects to be managed and browsed.browseColumns- An iterable collection of column names to be displayed in the browser.actions- Integer representing the actions available for the browser.filterColumns- An iterable collection of column names used for filtering in the browser.caption- The caption or title for the browser interface.allowedActions- A comma-separated string representing the actions that are allowed.
-
ObjectBrowser
protected ObjectBrowser(Class<T> objectClass, Iterable<String> browseColumns, int actions, SearchBuilder<T> searchBuilder, String caption, String allowedActions) Constructs an instance of ObjectBrowser with specified parameters.- Parameters:
objectClass- the class type of objects to be browsedbrowseColumns- an iterable containing column names to be displayed during object browsingactions- the integer representing action flags associated with the browsersearchBuilder- the SearchBuilder instance used for implementing search functionalitycaption- the string representing the title or caption of the object browserallowedActions- a string defining the actions allowed for the object browser
-
ObjectBrowser
Constructs an ObjectBrowser instance for the specified class name.- Parameters:
className- the name of the class to be used for creating the ObjectBrowser instance- Throws:
Exception- if there is an error resolving the specified class or during initialization
-
-
Method Details
-
create
Creates anObjectBrowserinstance for the specified class type.- Type Parameters:
O- the type of the objects being handled, extendingStoredObject- Parameters:
objectClass- theClassobject of the specific type to be managed by the browser- Returns:
- an
ObjectBrowserinstance for the specified class type
-
create
Creates and returns an instance of ObjectBrowser for the specified object class and actions.- Parameters:
objectClass- the class type of the objects to be managed by the ObjectBrowseractions- the integer value representing available actions for the ObjectBrowser- Returns:
- an instance of ObjectBrowser configured for the specified object class and actions
-
create
public static <O extends StoredObject> ObjectBrowser<O> create(Class<O> objectClass, Iterable<String> browseColumns, int actions) Creates an instance of ObjectBrowser for the given object class, browse columns, and actions.- Type Parameters:
O- The type of the objects stored and managed by the ObjectBrowser.- Parameters:
objectClass- The class of the object to be browsed.browseColumns- An iterable of strings representing the columns to display in the browser.actions- The action flags that determine the operations allowed in the browser.- Returns:
- An instance of ObjectBrowser configured with the specified class, columns, and actions.
-
create
public static <O extends StoredObject> ObjectBrowser<O> create(Class<O> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns) Creates an instance of ObjectBrowser for the specified object class with the given configuration.- Type Parameters:
O- The type of the objects that the ObjectBrowser will handle. Must extend StoredObject.- Parameters:
objectClass- The class type of the objects for the browser.browseColumns- An iterable containing the column names that should be displayed in the browser.actions- Integer flag indicating the actions that can be performed with the browser.filterColumns- An iterable containing the column names that should be used for filtering.- Returns:
- A new ObjectBrowser instance configured with the given parameters.
-
create
public static <O extends StoredObject> ObjectBrowser<O> create(Class<O> objectClass, int actions, String title) Creates a new instance of ObjectBrowser for the specified object class with the given actions and title.- Type Parameters:
O- the type of objects that the ObjectBrowser will handle, which extends StoredObject- Parameters:
objectClass- the class of the objects that the ObjectBrowser will manageactions- the actions to be associated with the ObjectBrowsertitle- the title of the ObjectBrowser- Returns:
- an instance of ObjectBrowser configured for the specified object class, actions, and title
-
create
public static <O extends StoredObject> ObjectBrowser<O> create(Class<O> objectClass, Iterable<String> browseColumns, int actions, String title) Creates an instance of ObjectBrowser for the specified object class.- Parameters:
objectClass- the class of objects to be browsedbrowseColumns- an iterable collection of column names to be displayed in the browseractions- an integer representing the actions available in the browsertitle- the title of the browser- Returns:
- an instance of ObjectBrowser configured with the specified parameters
-
create
public static <O extends StoredObject> ObjectBrowser<O> create(Class<O> objectClass, Iterable<String> browseColumns, int actions, Iterable<String> filterColumns, String title) Creates an instance ofObjectBrowser<O>based on the provided parameters and available constructors for the corresponding logic class. This method attempts to dynamically create the browser by invoking suitable constructors from the associated logic class.- Parameters:
objectClass- the class type of the stored object for which the browser is being createdbrowseColumns- an iterable of column names that should be used for browsingactions- the action flags specifying the actions available in the browserfilterColumns- an iterable of column names that can be used for filtering purposestitle- the title of the browser window- Returns:
- an instance of
ObjectBrowser<O>configured based on the input parameters or a default internal browser if no suitable constructor is found
-
setLogic
Sets the provided Logic instance if it has not been set already. If an editor is available, it will also set the provided Logic instance to the editor.- Specified by:
setLogicin interfaceHasLogic- Specified by:
setLogicin interfaceTransactional- Parameters:
logic- the Logic instance to be set. It is applied only if the current logic is null.
-
getLogic
Retrieves the logic instance associated with this object.- Specified by:
getLogicin interfaceHasLogic- Specified by:
getLogicin interfaceTransactional- Returns:
- the logic instance of type
Logic
-
setCaption
Sets the caption for an object.- Specified by:
setCaptionin interfaceExecutableView- Specified by:
setCaptionin interfaceHasColumns<T extends StoredObject>- Parameters:
caption- The text to be used as the caption.
-
createHeader
public com.vaadin.flow.component.Component createHeader()Creates and returns the header component of the user interface. This method constructs the header by combining the provided button panel and filter buttons into a single component.- Specified by:
createHeaderin interfaceHasColumns<T extends StoredObject>- Returns:
- a
Componentrepresenting the constructed header.
-
filterActions
protected int filterActions(int actions) Filters the provided set of actions and returns the result.- Parameters:
actions- the input set of actions to be filtered- Returns:
- the filtered set of actions
-
createExtraButtons
protected void createExtraButtons()A protected method designed to create and initialize additional buttons that might be required for enhancing the user interface functionality. This method can be overridden by subclasses to provide specific implementations for creating extra buttons as needed. -
addExtraButtons
protected void addExtraButtons()Configures and adds additional buttons to the user interface. This method is intended to be overridden by subclasses to provide specific behavior or additional UI elements. Subclasses can use this method to enhance the default layout with custom buttons based on their requirements. The base implementation does not add any buttons. -
listMoreButtons
List of more buttons to be added to thePrintButton, in addition to the configured buttons.- Returns:
- List of more buttons to be added. The list could contain any type of components.
-
canAdd
protected boolean canAdd()Determines if an item can be added based on the current logic or conditions.- Returns:
- true if the item can be added, false otherwise
-
close
public void close()Closes the current instance and performs cleanup operations if necessary. If the editor associated with this instance is open, it will cancel any ongoing row edits before invoking the superclass's close method. This ensures that any incomplete or pending edits are discarded and do not affect the consistency of the program's state.- Specified by:
closein interfaceExecutableView
-
selected
Determines the currently selected item. If no item is selected, it attempts to retrieve the item being edited. If neither exists, it handles specific cases: - If the list is empty, it logs a warning and returns null. - If the list contains one item, it selects that item and returns it. If none of the above conditions are met, it logs a warning and returns null.- Overrides:
selectedin classDataGrid<T extends StoredObject>- Returns:
- the currently selected item, the item being edited if no item is selected, the only item present if the list contains one item, or null if no item is selected and the list is empty or in an ambiguous state.
-
rowDoubleClicked
Handles the event of a row being double-clicked. The behavior varies depending on the state of the application, such as whether a search dialog is visible and enabled, or whether editing is allowed for the given object.- Parameters:
object- The object associated with the double-clicked row.
-
clicked
public void clicked(com.vaadin.flow.component.Component c) Handles the clicked event for a given component. Depending on the component clicked, it triggers specific actions such as add, edit, delete, view, audit, ledger, or search, and provides appropriate feedback or behavior based on the current state and selection.- Specified by:
clickedin interfaceClickHandler- Specified by:
clickedin interfaceExecutableView- Parameters:
c- the component that was clicked. This determines the action to be executed, such as exiting the application, adding a new item, generating a report, performing CRUD operations on selected objects, or handling search functionality.
-
load
public void load(int linkType, StoredObject master, String condition, String orderedBy, boolean any) Loads data based on the specified parameters.- Specified by:
loadin interfaceObjectLoader<T extends StoredObject>- Parameters:
linkType- the type of link to be used for loading the datamaster- the master object used as a reference for loadingcondition- the condition to filter the data during loadingorderedBy- the order by which the data should be sortedany- a flag indicating whether to include any matching data from subclasses
-
load
Loads data based on the specified condition, ordering, and flag.- Specified by:
loadin interfaceObjectLoader<T extends StoredObject>- Parameters:
condition- the condition to filter the dataorderedBy- the field by which the data should be orderedany- a flag indicating whether to include any matching data from subclasses
-
validateAnchorValues
Validate the anchor values. This is invoked when anchor values are set while adding a new instance.- Parameters:
object- The instance that contains the currently accepted anchor values.- Throws:
SOException- If thrown, the message is displayed as a warning and the add operation is aborted.
-
anchorFieldsCreated
public void anchorFieldsCreated()This method is invoked when anchor fields are created for the first time. -
resetAnchor
public void resetAnchor()Reset the anchor values so that it will be asked again for the next add/search actions. -
anchorsSet
-
anchorsCancelled
protected void anchorsCancelled()This method will be invoked if the "Cancel" button is pressed on the anchor form. -
executeAnchorForm
Execute the "anchor form" and run some specified action.- Parameters:
action- Action to run.
-
doAdd
public void doAdd()Executes the add operation by checking whether the operation is allowed using the canAdd method. If canAdd returns true, it retrieves the object editor and performs the addObject operation with the current view. This method is typically used to manage the addition of objects in the specified context. The addObject operation is delegated to the object editor, and the view serves as the object representation to be added. -
doEdit
Edits the specified object if it is editable.- Parameters:
object- the object to be edited, must not be null and must be editable
-
doDelete
Deletes the specified object if it is not null. After deletion, checks whether the object has been successfully removed and displays a confirmation message if deleted.- Parameters:
object- the object to be deleted; if null, no action is taken
-
doReport
public void doReport()Executes a reporting operation by creating and managing an instance of ObjectList. This method initializes the ObjectList with the necessary parameters such as application context, object class, column names, and filter conditions. It then executes the list under these configured settings. This method suppresses resource warnings for the ObjectList initialization. -
postLedger
Posts the given object to the ledger if it meets the required conditions. The method checks whether the object is an instance of a financial entry, whether it has already been posted to the ledger, and whether the current user has the necessary permissions to view or post the ledger.- Parameters:
object- the object to be processed and potentially posted to the ledger. Must be an instance of a financial entry to proceed.
-
doView
Handles the view operation for the given object. If the provided object is not null, it uses the object editor to display the object in the specified view.- Parameters:
object- the object to be viewed; must not be null to trigger the view operation
-
getViewComponent
public com.vaadin.flow.component.Component getViewComponent()Returns the primary view component to be used for rendering. If a custom layout is defined, it will return the layout; otherwise, it falls back to the default component from the superclass.- Specified by:
getViewComponentin interfaceHasColumns<T extends StoredObject>- Returns:
- the view component, either the custom layout or the default superclass component
-
setSplitView
public void setSplitView()Configures and sets up a split view layout for the current component. The method performs the following actions: - Checks if the view is already initialized using the `getView(false)` method. If a view is already present, the method will return immediately without further processing. - Assigns a new layout to the component by invoking the `splitLayout` method with the current object as an argument. - Registers an item selected listener to handle selection events within a grid. When an item is selected, the `itemSelected()` method is triggered. - If a previous view exists, it removes the view from the `buttonPanel` and clears the `view` reference. -
getRowEditor
Retrieves the row editor for the current object type. If the editor has not been constructed yet, it initializes the editor. Ensures that the editor is configured in row mode, updating field labels and layouts as needed.- Returns:
- the ObjectEditor instance for the current object type
-
setObjectEditor
Sets the ObjectEditor for managing the editing process of the object. If an existing editor is assigned and is currently executing, it will be aborted, and its associated component will be removed from the layout if applicable. The new editor will then be initialized and constructed.- Parameters:
editor- the ObjectEditor instance to be set. Can be null, which will remove the current editor and its associated behavior.
-
getObjectEditor
Retrieves the ObjectEditor instance. If the instance is null, it initializes the editor. Adjusts the editor's field positions and configuration when in row editing mode.- Returns:
- the ObjectEditor instance of type T, appropriately configured based on the current state.
-
createObjectEditor
Creates and returns an instance of ObjectEditor for managing the editing of objects of type T. This method can be overridden by subclasses to provide specific editor implementations.- Returns:
- an instance of ObjectEditor for the generic type T, or null if no implementation is provided.
-
constructObjectEditor
Constructs and returns an instance of ObjectEditor for managing and editing objects of type T. This method is intended to be overridden to provide specific implementations of the ObjectEditor as needed.- Returns:
- an ObjectEditor instance for managing objects of type T, or null if no editor is constructed.
-
isColumnEditable
Determines if a column with the specified name is editable.- Specified by:
isColumnEditablein interfaceEditableDataGrid<T extends StoredObject>- Parameters:
columnName- the name of the column to check for editability- Returns:
- true if the column is editable, otherwise false
-
streamEditableFields
Streams all editable fields in the current context.- Specified by:
streamEditableFieldsin interfaceEditableDataGrid<T extends StoredObject>- Returns:
- a stream of fields that implement the
HasValue<?, ?>interface, representing the editable fields available.
-
isSearchMode
public boolean isSearchMode()Determines if the object is in search mode. Search mode is active when the search property is not null.- Specified by:
isSearchModein interfaceObjectGridData<T extends StoredObject,T extends StoredObject> - Returns:
- true if the search mode is active, false otherwise
-
getSearchBuilder
Retrieves the search builder associated with the load filter buttons.- Specified by:
getSearchBuilderin interfaceObjectGridData<T extends StoredObject,T extends StoredObject> - Specified by:
getSearchBuilderin interfaceObjectSearcher<T extends StoredObject>- Returns:
- an instance of ObjectSearchBuilder
if loadFilterButtons is not null, otherwise returns null
-
setReadOnly
public void setReadOnly(boolean readOnly) Sets the read-only state for the current object. When set to true, row editing will be canceled if it is in progress.- Parameters:
readOnly- a boolean value specifying the read-only state. If true, the object is marked as read-only and any row edit is canceled. If false, the object allows modifications.
-
isReadOnly
public final boolean isReadOnly()Checks if the current object is in a read-only state.- Returns:
- true if the object is read-only; false otherwise.
-
createEditor
Creates and returns a new editor instance. The editor is initialized to be buffered, allowing changes to be committed explicitly rather than immediately upon modification.- Overrides:
createEditorin classcom.vaadin.flow.component.grid.Grid<T extends StoredObject>- Returns:
- the newly created and buffered editor instance
-
editRow
Edits the specified row in the data set. This method checks if the provided item can be edited before proceeding with the edit operation.- Parameters:
item- the item representing the row to be edited
-
canRowEdit
Determines if the specified row can be edited based on the given item.- Parameters:
item- the object representing the row to check for edit capability- Returns:
- true if the row can be edited, false otherwise
-
cancelRowEdit
public void cancelRowEdit()Cancels the editing process for the currently edited row in the table. If an editor is currently active, this method will invoke its cancel operation, ensure that the editing state for the table row is reset, and hide the save and cancel buttons associated with the operation. The method performs the following steps: 1. Checks if the editor is non-null and retrieves the editor instance. 2. If the editor is open, invokes the cancel operation on the editor. 3. Resets the editing state of the row by calling the row editor's cancel operation. 4. Clears the `editingItem` reference. 5. Hides the associated save and cancel buttons. -
saveEditedRow
public void saveEditedRow()Saves the currently edited row if an editor is active and there is an item being edited. This method checks the editor and the item being edited for validity, saves the edited data using the row editor's save method, and then finalizes the editing process. It resets the editing state and updates the visibility of the save and cancel controls associated with the editor. -
getEditingItem
Retrieves the item currently being edited.- Returns:
- the item of type T that is currently being edited
-
extraInfoCreated
This is invoked when an "Extra Information" instance is created. At this point, you may set your own values if required.- Parameters:
object- The object instance for which the "Extra Information" is created.extraInfo- Newly created "Extra Information" instance.
-
extraInfoLoaded
This is invoked when an existing "Extra Information" instance is loaded for the current object. At this point, you may set your own values if required.- Parameters:
object- The object instance for which the "Extra Information" is loaded.extraInfo- The "Extra Information" instance loaded now.
-
savingExtraInfo
This is invoked when an existing "Extra Information" instance is being saved. At this point, you may set your own values if required. (ObjectEditor.validateData()andStoredObject.validateData(TransactionManager)are be invoked after this).If an exception is thrown from this method, the save process will not happen.
- Parameters:
object- The object instance for which the "Extra Information" is getting saved.extraInfo- The "Extra Information" instance to be saved.- Throws:
Exception- if any validation error to be notified.
-
actionAllowed
Determines whether the specified action is allowed.- Overrides:
actionAllowedin classDataGrid<T extends StoredObject>- Parameters:
action- the action to be checked for permission- Returns:
- true if the action is allowed, false otherwise
-
setExitAction
Sets the action to be executed when an exit event is triggered.- Parameters:
exitAction- aRunnablethat defines the action to be performed on exit
-
getExitAction
Gets the action to be executed when an exit event is triggered.- Returns:
- the
Runnablethat defines the action to be performed on exit
-