Package com.storedobject.ui
Class ObjectTree<T extends StoredObject>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.grid.Grid<T>
com.vaadin.flow.component.treegrid.TreeGrid<T>
com.storedobject.vaadin.DataTreeGrid<T>
com.storedobject.ui.DataTreeGrid<T>
com.storedobject.ui.ObjectTree<T>
- All Implemented Interfaces:
Executable
,Reentrant
,FilterMethods<T>
,HasLogic
,ObjectLoader<T>
,ObjectSearcher<T>
,ObjectSetter<T>
,ObjectsSetter<T>
,ObjectGridData<T,
,T> ObjectLoader<T>
,Transactional
,ChildVisitor<T,
,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>> com.vaadin.flow.data.provider.hierarchy.HasHierarchicalDataProvider<T>
,Serializable
,Runnable
,EventListener
,Consumer<T>
- Direct Known Subclasses:
ObjectTreeBrowser
public class ObjectTree<T extends StoredObject>
extends DataTreeGrid<T>
implements ObjectGridData<T,T>, ChildVisitor<T,T>
- 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.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>
-
Constructor Summary
ConstructorsConstructorDescriptionObjectTree
(boolean large, Class<T> objectClass, Iterable<String> columns, boolean any, int linkType) ObjectTree
(Class<T> objectClass) ObjectTree
(Class<T> objectClass, boolean any) ObjectTree
(Class<T> objectClass, boolean any, int linkType) ObjectTree
(Class<T> objectClass, int linkType) ObjectTree
(Class<T> objectClass, Iterable<String> columns) ObjectTree
(Class<T> objectClass, Iterable<String> columns, boolean any) ObjectTree
(Class<T> objectClass, Iterable<String> columns, boolean any, int linkType) ObjectTree
(Class<T> objectClass, Iterable<String> columns, int linkType) -
Method Summary
Modifier and TypeMethodDescriptionboolean
actionAllowed
(String action) Check whether a specific action is allowed or not.com.vaadin.flow.shared.Registration
boolean
canAllowAction
(String action) Same asactionAllowed(String)
except that this shows a message to the user about it if the action is not allowed.void
clear()
Clear - remove all entries.protected ObjectEditor
<T> void
deselectChildren
(T parent, boolean includeGrandChildren) Deselect all children of the parent item.protected String
Prefix string that is added to the "action" string to determine the actualUIAction
to be checked.Get the current Application.final ObjectTreeProvider
<T> final ObjectTreeProvider
<T> final Logic
getLogic()
Get the logic.Class of the object accepted.final ObjectEditor
<T> getRoot()
com.vaadin.flow.component.Component
Get the component for creating the view - SeeHasColumns.getView(boolean)
andExecutableView.getView()
.void
loaded()
void
selectChildren
(T parent, boolean includeGrandChildren) Select all children of the parent item.void
setItemLabelGenerator
(com.vaadin.flow.component.ItemLabelGenerator<T> itemLabelGenerator) final void
Set the logic.void
setNewObjectGenerator
(NewObject<T> newObject) void
Set the object.void
setObjectEditor
(ObjectEditor<T> editor) void
setObjectSetter
(ObjectSetter<T> setter) final void
setRoots
(ObjectIterator<T> roots) final void
void
void
visitChildren
(T parent, Consumer<T> consumer, boolean includeGrandChildren) Visit the children of the parent item.Methods inherited from class com.storedobject.ui.DataTreeGrid
scrollTo
Methods inherited from class com.storedobject.vaadin.DataTreeGrid
addConstructedListener, addHierarchyColumn, appendFooter, clearConstructedListeners, createHierarchyColumn, createHTMLHierarchyColumn, getColumnByKey, getColumns, getSOGrid, isColumnReorderingAllowed, isColumnSortable, setColumnReorderingAllowed, streamConstructedListeners
Methods inherited from class com.vaadin.flow.component.treegrid.TreeGrid
addCollapseListener, addComponentHierarchyColumn, addExpandListener, collapse, collapse, collapse, collapseRecursively, collapseRecursively, createDefaultArrayUpdater, expand, expand, expand, expandRecursively, expandRecursively, getDataCommunicator, getGenericDataView, getItemsWithChildrenRecursively, getLazyDataView, getListDataView, isExpanded, scrollToEnd, scrollToIndex, scrollToIndex, scrollToItem, setColumns, setDataProvider, setDataProvider, setHierarchyColumn, setHierarchyColumn, setItems, setItems, setItems, setItems, setItems, setUniqueKeyDataGenerator
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, createEditor, createSortingComparator, deselect, deselectAll, getAriaLabel, getArrayUpdater, getBeanType, getClassNameGenerator, getColumnLayers, getColumnRendering, getDefaultColumnFactory, getDefaultHeaderRow, getDragFilter, getDropFilter, getDropMode, getEditor, getEmptyStateComponent, getEmptyStateText, getFooterRows, getHeaderRows, getNestedNullBehavior, getPageSize, getPartNameGenerator, getPropertySet, getSelectedItems, getSelectionMode, getSelectionModel, getSelectionPreservationMode, getSortOrder, getUniqueKeyProperty, getUniqueKeyProvider, initConnector, insertColumnLayer, isAllRowsVisible, isDetailsVisible, isDetailsVisibleOnClick, isMultiSort, isRowsDraggable, onAttach, onDataProviderChange, onDetach, onEnabledStateChanged, prependFooterRow, prependHeaderRow, recalculateColumnWidths, removeAllColumns, removeAllFooterRows, removeAllHeaderRows, removeColumn, removeColumnByKey, removeColumnLayer, removeColumns, removeFooterRow, removeHeaderRow, removeThemeVariants, scrollToStart, select, setAllRowsVisible, setAriaLabel, setClassNameGenerator, setColumnKey, setColumnOrder, setColumnOrder, setColumnRendering, setColumns, setDefaultMultiSortPriority, setDetailsVisible, setDetailsVisibleOnClick, setDragDataGenerator, setDragFilter, setDropFilter, setDropMode, setEmptyStateComponent, setEmptyStateText, setItemDetailsRenderer, setItems, setItems, setItemSelectableProvider, setMultiSort, setMultiSort, setMultiSort, setMultiSort, setNestedNullBehavior, setPageSize, setPartNameGenerator, setRowsDraggable, setSelectionDragDetails, setSelectionMode, setSelectionModel, setSelectionPreservationMode, setSortableColumns, setTooltipGenerator, setUniqueKeyProperty, setUniqueKeyProvider, sort, 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 com.vaadin.flow.component.DetachNotifier
addDetachListener
Methods inherited from interface com.storedobject.common.Executable
act
Methods inherited from interface com.storedobject.vaadin.ExecutableView
abort, clean, clicked, close, 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, createHeader, createHeaders, createHierarchyColumn, createHTMLColumn, createHTMLHierarchyColumn, createView, customizeColumn, customizeRenderer, deselect, deselect, executing, getCaption, getColumn, getColumnCaption, getColumnCount, getColumnDetail, getColumnFunction, getColumnHeaderComponent, getColumnMethodName, getColumnNames, getColumnOrder, getColumnSorter, getColumnTemplate, getConfigureButton, getDataClass, getDefinedColumnCount, getFixedColumnWidth, getMenuItem, getObjectRendered, getObjectUnwrapped, getRelativeColumnWidth, getSelected, getSOGrid, getTextAlign, getView, ignoreCaseForColumnSorting, includeColumn, isColumnFrozen, isColumnResizable, isColumnSortable, isColumnVisible, prependFooter, prependHeader, refresh, refresh, refresh, removeItemSelectedListener, render, select, select, setCaption, 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.data.provider.hierarchy.HasHierarchicalDataProvider
getTreeData, setItems, setItems, setTreeData
Methods inherited from interface com.vaadin.flow.data.provider.HasLazyDataView
setItems
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 com.storedobject.ui.ObjectGridData
canSearch, convert, createSearchBuilder, deselect, deselectAll, doLoad, getEntityFilter, getItem, getLoadFilter, getObjectCount, getSearchBuilder, getSelectionModel, isAllowAny, isSearchMode, populate, populate, populate, resetSearch, scrollTo, search, search, search, select, setLoadFilter, setObjectConsumer, setObjectConsumer, setObjects, setSelectionMode, validateFilterCondition
Methods inherited from interface com.storedobject.core.ObjectLoader
applyFilter, canContain, getAllowAny, getLinkType, getMaster, getOrderBy, load, load, 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, getEffectiveCondition, getFixedFilter, 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
Methods inherited from interface com.storedobject.vaadin.ValueChangeHandler
valueChanged
-
Constructor Details
-
ObjectTree
-
ObjectTree
-
ObjectTree
-
ObjectTree
-
ObjectTree
-
ObjectTree
-
ObjectTree
-
ObjectTree
-
ObjectTree
-
-
Method Details
-
getDelegatedLoader
- Specified by:
getDelegatedLoader
in interfaceObjectLoader<T extends StoredObject>
-
getDataProvider
- Specified by:
getDataProvider
in interfacecom.vaadin.flow.data.provider.hierarchy.HasHierarchicalDataProvider<T extends StoredObject>
- Overrides:
getDataProvider
in classcom.vaadin.flow.component.treegrid.TreeGrid<T extends StoredObject>
-
getObjectClass
Description copied from interface:ObjectSetter
Class of the object accepted. The default implementation returnsnull
.- Specified by:
getObjectClass
in interfaceObjectGridData<T extends StoredObject,
T extends StoredObject> - Specified by:
getObjectClass
in interfaceObjectLoader<T extends StoredObject>
- Specified by:
getObjectClass
in interfaceObjectSetter<T extends StoredObject>
- Returns:
- Class of the object.
-
addObjectDataLoadedListener
-
setItemLabelGenerator
public void setItemLabelGenerator(com.vaadin.flow.component.ItemLabelGenerator<T> itemLabelGenerator) -
setLogic
Description copied from interface:HasLogic
Set the logic. This will be invoked by theApplicationServer
when theLogic
is executed.- Specified by:
setLogic
in interfaceHasLogic
- Specified by:
setLogic
in interfaceTransactional
- Parameters:
logic
- Logic to set
-
getLogic
-
loaded
public void loaded() -
getViewComponent
public com.vaadin.flow.component.Component getViewComponent()Description copied from interface:HasColumns
Get the component for creating the view - SeeHasColumns.getView(boolean)
andExecutableView.getView()
.- Specified by:
getViewComponent
in interfaceHasColumns<T extends StoredObject>
- Returns:
- The component for the view. By default, the grid itself is returned.
-
setSplitView
public void setSplitView() -
clear
public void clear()Description copied from interface:ObjectLoader
Clear - remove all entries.- Specified by:
clear
in interfaceObjectLoader<T extends StoredObject>
-
setObject
Description copied from interface:ObjectSetter
Set the object.- Specified by:
setObject
in interfaceObjectGridData<T extends StoredObject,
T extends StoredObject> - Specified by:
setObject
in interfaceObjectSetter<T extends StoredObject>
- Parameters:
object
- Object to set.
-
setObjectSetter
- Specified by:
setObjectSetter
in interfaceObjectGridData<T extends StoredObject,
T extends StoredObject>
-
getRoot
-
listRoots
- Specified by:
listRoots
in interfaceChildVisitor<T extends StoredObject,
T extends StoredObject>
-
setRoots
-
setRoots
-
getApplication
Description copied from interface:HasColumns
Get the current Application.- Specified by:
getApplication
in interfaceExecutableView
- Specified by:
getApplication
in interfaceHasColumns<T extends StoredObject>
- Returns:
- Current Application.
-
setObjectEditor
-
getObjectEditor
-
createObjectEditor
-
setNewObjectGenerator
-
selectChildren
Select all children of the parent item.- Parameters:
parent
- Parent item.includeGrandChildren
- Whether recursively include grand-children or not.
-
deselectChildren
Deselect all children of the parent item.- Parameters:
parent
- Parent item.includeGrandChildren
- Whether recursively include grand-children or not.
-
visitChildren
Visit the children of the parent item.- Specified by:
visitChildren
in interfaceChildVisitor<T extends StoredObject,
T extends StoredObject> - Parameters:
parent
- Parent item.consumer
- Consumer to consume the visit purpose.includeGrandChildren
- Whether recursively include grand-children or not.
-
getActionPrefix
Prefix string that is added to the "action" string to determine the actualUIAction
to be checked. SeeactionAllowed(String)
. For example,POBrowser
returns the value "PO" for this method.- Returns:
- Prefix string. Default implementation returns null. That means that all the actions are allowed.
-
actionAllowed
Check whether a specific action is allowed or not. An action is defined in the UI logic as a keyword like "SEND-ITEMS", "PLACE-ORDER", "RECEIVE-ITEMS", "PRINT-VOUCHER", etc. and there could be corresponding access control applicable within the logic. The user's groups determine whether that user can carry out that action or not. This method returnstrue/false
to denote that the user can carry out the action or not. However, it is up to the logic to decide the course of action.The user's groups can be configured to allow various UI actions (
UIAction
. EachUIAction
represents a unique "action" string (UIAction.getAction()
) and that value should be equal togetActionPrefix()
+ "-" + action in order to allow that action.- Parameters:
action
- Action string.- Returns:
- True/false. Please note that it will always return
true
ifgetActionPrefix()
returnsnull
.
-
canAllowAction
Same asactionAllowed(String)
except that this shows a message to the user about it if the action is not allowed.- Parameters:
action
- Action string.- Returns:
- True/false.
-