Package com.storedobject.ui
Class AbstractObjectForest<T extends StoredObject>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.grid.Grid<Object>
com.vaadin.flow.component.treegrid.TreeGrid<Object>
- All Implemented Interfaces:
Executable
,Reentrant
,FilterMethods<T>
,HasLogic
,ObjectLoader<T>
,ObjectSearcher<T>
,ObjectSetter<T>
,ObjectsSetter<T>
,ObjectGridData<T,
,Object> ObjectLoader<T>
,Transactional
,ChildVisitor<T,
,Object> ClickHandler
,ExecutableView
,HasColumns<Object>
,SupportWindowMode
,ValueChangeHandler
,com.vaadin.flow.component.AttachNotifier
,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.grid.Grid<Object>>
,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<Object>>
,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.grid.Grid<Object>>
,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<Object>,
,com.vaadin.flow.component.grid.GridSortOrder<Object>> com.vaadin.flow.data.provider.HasDataGenerators<Object>
,com.vaadin.flow.data.provider.HasDataView<Object,
,Void, com.vaadin.flow.component.grid.dataview.GridDataView<Object>> com.vaadin.flow.data.provider.HasLazyDataView<Object,
,Void, com.vaadin.flow.component.grid.dataview.GridLazyDataView<Object>> com.vaadin.flow.data.provider.HasListDataView<Object,
,com.vaadin.flow.component.grid.dataview.GridListDataView<Object>> com.vaadin.flow.data.provider.hierarchy.HasHierarchicalDataProvider<Object>
,Serializable
,Runnable
,EventListener
,Consumer<T>
- Direct Known Subclasses:
BaseObjectForest
public abstract class AbstractObjectForest<T extends StoredObject>
extends DataTreeGrid<Object>
implements ObjectGridData<T,Object>, ChildVisitor<T,Object>
- 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
ConstructorsConstructorDescriptionAbstractObjectForest
(boolean large, boolean forViewing, Class<T> objectClass, Iterable<String> columns, boolean any) -
Method Summary
Modifier and TypeMethodDescriptionvoid
deselectChildren
(Object parent, boolean includeGrandChildren) Deselect all children of the parent item.Get the current Application.Caption used when displaying it in a View.getColumnCaption
(String columnName) Get the text to display in the header.final ObjectForestProvider
<T> final ObjectForestProvider
<T> getItem
(int index) final Logic
getLogic()
Get the logic.Class of the object accepted.getRoot()
<M extends StoredObject>
booleanCheck whether to hide the specified link or not.final boolean
isColumnSortable
(String columnName) Check if a particular column is sortable or not.void
loaded()
This will be invoked whenever a new set of rows are loaded via one of the "load" methods.void
void
selectChildren
(Object parent, boolean includeGrandChildren) Select all children of the parent item.void
setKeepCache
(boolean keepCache) void
Set the object.void
setObjects
(Iterable<T> objects) void
setObjectSetter
(ObjectSetter<T> setter) void
final void
setRoots
(ObjectIterator<T> roots) final void
Sometimes the row object being rendered may be embedded in another object and just before rendering the row's column details, it may have to be unwrapped.void
visitChildren
(Object parent, Consumer<Object> 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, 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, getColumn, getColumnCount, getColumnDetail, getColumnFunction, getColumnHeaderComponent, getColumnMethodName, getColumnNames, getColumnOrder, getColumnSorter, getColumnTemplate, getConfigureButton, getDataClass, getDefinedColumnCount, getFixedColumnWidth, getMenuItem, getObjectRendered, getObjectUnwrapped, getRelativeColumnWidth, getSelected, getSOGrid, getTextAlign, getView, getViewComponent, ignoreCaseForColumnSorting, includeColumn, isColumnFrozen, isColumnResizable, isColumnVisible, prependFooter, prependHeader, refresh, refresh, refresh, removeItemSelectedListener, render, select, select, setCaption, setColumnFrozen, setColumnResizable, setColumnVisible, setMethodHandlerHost, sort, sort, sortOrder, sortOrder, streamConstructedListeners
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, getLoadFilter, getObjectCount, getSearchBuilder, getSelectionModel, isAllowAny, isSearchMode, populate, populate, populate, resetSearch, search, search, search, select, setLoadFilter, setObjectConsumer, setObjectConsumer, setSelectionMode, validateFilterCondition
Methods inherited from interface com.storedobject.core.ObjectLoader
applyFilter, canContain, clear, 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, setLogic, transact, transact, transactControl, transactControl
Methods inherited from interface com.storedobject.vaadin.ValueChangeHandler
valueChanged
-
Constructor Details
-
AbstractObjectForest
-
-
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<Object>
-
getCaption
Description copied from interface:HasColumns
Caption used when displaying it in a View. If no caption was set using setCaption method, a label for the Bean's class is determined from the Application Environment.- Specified by:
getCaption
in interfaceExecutableView
- Specified by:
getCaption
in interfaceHasColumns<T extends StoredObject>
- Returns:
- Caption
-
setKeepCache
public void setKeepCache(boolean keepCache) -
get_Name
-
getColumnCaption
Description copied from interface:HasColumns
Get the text to display in the header. This will be invoked only ifHasColumns.getColumnHeaderComponent(java.lang.String)
returns null.- Specified by:
getColumnCaption
in interfaceHasColumns<T extends StoredObject>
- Parameters:
columnName
- Column name- Returns:
- Text to display as header. By default, it tries to determine this from the Application Environment.
-
isColumnSortable
Description copied from class:DataTreeGrid
Check if a particular column is sortable or not. (By default, sorting is off.)- Specified by:
isColumnSortable
in interfaceHasColumns<T extends StoredObject>
- Overrides:
isColumnSortable
in classDataTreeGrid<Object>
- Parameters:
columnName
- Column name- Returns:
- True or false.
-
getObjectClass
Description copied from interface:ObjectSetter
Class of the object accepted. The default implementation returnsnull
.- Specified by:
getObjectClass
in interfaceObjectGridData<T extends StoredObject,
Object> - Specified by:
getObjectClass
in interfaceObjectLoader<T extends StoredObject>
- Specified by:
getObjectClass
in interfaceObjectSetter<T extends StoredObject>
- Returns:
- Class of the object.
-
unwrap
Description copied from interface:HasColumns
Sometimes the row object being rendered may be embedded in another object and just before rendering the row's column details, it may have to be unwrapped. This method is invoked when the row is rendered and just before the rendering function is applied. The default implementation returns the same object.- Specified by:
unwrap
in interfaceHasColumns<T extends StoredObject>
- Parameters:
object
- Currently rendered object.- Returns:
- Unwrapped object.
-
getLogic
-
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.
-
setRoot
-
loaded
public void loaded()This will be invoked whenever a new set of rows are loaded via one of the "load" methods. -
scrollTo
- Specified by:
scrollTo
in interfaceObjectGridData<T extends StoredObject,
Object>
-
getRoot
-
listRoots
- Specified by:
listRoots
in interfaceChildVisitor<T extends StoredObject,
Object>
-
getItem
- Specified by:
getItem
in interfaceObjectGridData<T extends StoredObject,
Object>
-
setObject
Description copied from interface:ObjectSetter
Set the object.- Specified by:
setObject
in interfaceObjectGridData<T extends StoredObject,
Object> - Specified by:
setObject
in interfaceObjectSetter<T extends StoredObject>
- Parameters:
object
- Object to set.
-
setObjects
- Specified by:
setObjects
in interfaceObjectGridData<T extends StoredObject,
Object> - Specified by:
setObjects
in interfaceObjectsSetter<T extends StoredObject>
-
setRoots
-
setRoots
-
setObjectSetter
- Specified by:
setObjectSetter
in interfaceObjectGridData<T extends StoredObject,
Object>
-
getSelectedObjects
-
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,
Object> - Parameters:
parent
- Parent item.consumer
- Consumer to consume the visit purpose.includeGrandChildren
- Whether recursively include grand-children or not.
-
hideLink
Check whether to hide the specified link or not. By returningtrue
from this method, you can hide a child link.- Type Parameters:
M
- Type of the master class.- Parameters:
masterClass
- The master/parent class.linkName
- Name of the link.- Returns:
- True/false. (Default is false).
-