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 Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected final ButtonLayout
Represents a layout container for managing and organizing button components within the ObjectBrowser UI.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected PrintButton
Represents a button used to trigger a print action within the ObjectBrowser.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "Add" button associated with this instance of theObjectBrowser
.protected Button
The "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 ofObjectBrowser
with the specified parameters.ObjectBrowser
(Class<T> objectClass, Iterable<String> browseColumns, int actions, SearchBuilder<T> searchBuilder, String caption) Constructs an ObjectBrowser instance with specified parameters.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.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.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.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 TypeMethodDescriptionboolean
actionAllowed
(String action) Determines whether the specified action is allowed.protected void
Configures and adds additional buttons to the user interface.void
This method is invoked when anchor fields are created for the first time.protected void
This method will be invoked if the "Cancel" button is pressed on the anchor form.protected void
This 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 boolean
canAdd()
Determines if an item can be added based on the current logic or conditions.void
Cancels the editing process for the currently edited row in the table.boolean
canRowEdit
(T item) Determines if the specified row can be edited based on the given item.void
clicked
(com.vaadin.flow.component.Component c) Handles the clicked event for a given component.void
close()
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 anObjectBrowser
instance 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 void
A protected method designed to create and initialize additional buttons that might be required for enhancing the user interface functionality.com.vaadin.flow.component.Component
Creates 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.void
doAdd()
Executes the add operation by checking whether the operation is allowed using the canAdd method.void
Deletes the specified object if it is not null.void
Edits the specified object if it is editable.void
doReport()
Executes a reporting operation by creating and managing an instance of ObjectList.void
Handles the view operation for the given object.void
Edits the specified row in the data set.void
executeAnchorForm
(Runnable action) Execute the "anchor form" and run some specified action.void
extraInfoCreated
(T object, StoredObject extraInfo) This is invoked when an "Extra Information" instance is created.void
extraInfoLoaded
(T object, StoredObject extraInfo) This is invoked when an existing "Extra Information" instance is loaded for the current object.protected int
filterActions
(int actions) Filters the provided set of actions and returns the result.final T
Retrieves the item currently being edited.final Logic
getLogic()
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.Component
Returns the primary view component to be used for rendering.boolean
isColumnEditable
(String columnName) Determines if a column with the specified name is editable.final boolean
Checks if the current object is in a read-only state.boolean
Determines 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.void
load
(int linkType, StoredObject master, String condition, String orderedBy, boolean any) Loads data based on the specified parameters.void
Loads data based on the specified condition, ordering, and flag.void
postLedger
(T object) Posts the given object to the ledger if it meets the required conditions.void
Reset the anchor values so that it will be asked again for the next add/search actions.void
rowDoubleClicked
(T object) Handles the event of a row being double-clicked.void
Saves the currently edited row if an editor is active and there is an item being edited.void
savingExtraInfo
(T object, StoredObject extraInfo) This is invoked when an existing "Extra Information" instance is being saved.selected()
Determines the currently selected item.void
setCaption
(String caption) Sets the caption for an object.final void
Sets the provided Logic instance if it has not been set already.void
setObjectEditor
(ObjectEditor<T> editor) Sets the ObjectEditor for managing the editing process of the object.void
setReadOnly
(boolean readOnly) Sets the read-only state for the current object.void
Configures 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.void
validateAnchorValues
(T object) Validate the anchor values.Methods inherited from class com.storedobject.ui.ObjectGrid
search, setObjectSetter
Methods inherited from class com.storedobject.ui.ObjectListGrid
addObjectChangedListener, configure, createListDataProvider, doDeleteAction, doInsertAction, doUndeleteAction, doUpdateAction, getApplication, getDataProvider, getDelegatedLoader, isValid, load, load, loaded, removeObjectChangedListener, setProcessor, setViewFilter
Methods 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, validateUpdate
Methods 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, toArray
Methods inherited from class com.storedobject.vaadin.DataGrid
addConstructedListener, appendFooter, clearConstructedListeners, getColumnByKey, getColumns, getSOGrid, isColumnReorderingAllowed, setColumnReorderingAllowed, streamConstructedListeners
Methods 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, updateSelectionModeOnClient
Methods 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, setVisible
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
Methods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListener
Methods inherited from interface com.storedobject.vaadin.ClickHandler
clicked, doubleClicked, onComponentEvent, rightClicked
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
Methods inherited from interface com.storedobject.ui.EditableDataGrid
canDelete, canEdit, canPostLedger, canViewLedger
Methods inherited from interface com.storedobject.common.Executable
act
Methods 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, warning
Methods inherited from interface com.storedobject.core.FilterMethods
getFilterCondition, setFilter, setFilter, setFilter, setFilter, setFilter, setFilter, setLoadFilter, setLoadFilter, setViewFilter, setViewFilter
Methods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndex
Methods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListener
Methods 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, unwrap
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabled
Methods 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, setWidthFull
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
Methods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
Methods inherited from interface java.util.List
addFirst, addLast, equals, getFirst, getLast, hashCode, removeFirst, removeLast, reversed, spliterator
Methods inherited from interface com.storedobject.ui.ObjectEditorListener
editingCancelled, editingEnded, editingStarted
Methods 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, validateFilterCondition
Methods 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, setOrderBy
Methods 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, streamFiltered
Methods inherited from interface com.storedobject.core.ObjectSetter
accept, setObject
Methods inherited from interface com.storedobject.common.Reentrant
isReentrant
Methods inherited from interface com.storedobject.vaadin.util.SupportWindowMode
createWindow
Methods inherited from interface com.storedobject.ui.Transactional
commit, execute, getTransactionManager, run, transact, transact, transactControl, transactControl, transactControl, transactControl
Methods inherited from interface com.storedobject.vaadin.ValueChangeHandler
valueChanged
Methods 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 ofObjectBrowser
with 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
- ASearchBuilder
instance 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 anObjectBrowser
instance for the specified class type.- Type Parameters:
O
- the type of the objects being handled, extendingStoredObject
- Parameters:
objectClass
- theClass
object of the specific type to be managed by the browser- Returns:
- an
ObjectBrowser
instance 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:
setLogic
in interfaceHasLogic
- Specified by:
setLogic
in 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:
getLogic
in interfaceHasLogic
- Specified by:
getLogic
in interfaceTransactional
- Returns:
- the logic instance of type
Logic
-
setCaption
Sets the caption for an object.- Specified by:
setCaption
in interfaceExecutableView
- Specified by:
setCaption
in 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:
createHeader
in interfaceHasColumns<T extends StoredObject>
- Returns:
- a
Component
representing 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:
close
in 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:
selected
in 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:
clicked
in interfaceClickHandler
- Specified by:
clicked
in 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:
load
in 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:
load
in 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:
getViewComponent
in 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:
isColumnEditable
in 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:
streamEditableFields
in 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:
isSearchMode
in 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:
getSearchBuilder
in interfaceObjectGridData<T extends StoredObject,
T extends StoredObject> - Specified by:
getSearchBuilder
in 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:
createEditor
in 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:
actionAllowed
in classDataGrid<T extends StoredObject>
- Parameters:
action
- the action to be checked for permission- Returns:
- true if the action is allowed, false otherwise
-