public class HierarchicalDatasourceImpl<T extends io.jmix.core.Entity,K> extends CollectionDatasourceImpl<T,K> implements HierarchicalDatasource<T,K>
AbstractCollectionDatasource.ComponentValueListener
AbstractDatasource.ItemListener
CollectionDatasource.Aggregatable<T extends io.jmix.core.Entity,K>, CollectionDatasource.CollectionChangeEvent<T extends io.jmix.core.Entity,K>, CollectionDatasource.CollectionChangeListener<T extends io.jmix.core.Entity,K>, CollectionDatasource.Indexed<T extends io.jmix.core.Entity,K>, CollectionDatasource.Lazy<T extends io.jmix.core.Entity,K>, CollectionDatasource.Operation, CollectionDatasource.Ordered<T extends io.jmix.core.Entity,K>, CollectionDatasource.RefreshMode, CollectionDatasource.Sortable<T extends io.jmix.core.Entity,K>, CollectionDatasource.SortDelegate<T extends io.jmix.core.Entity,K>, CollectionDatasource.SupportsApplyToSelected<T extends io.jmix.core.Entity,K>, CollectionDatasource.SupportsPaging<T extends io.jmix.core.Entity,K>, CollectionDatasource.SupportsRefreshMode<T extends io.jmix.core.Entity,K>, CollectionDatasource.SupportsSortDelegate<T extends io.jmix.core.Entity,K>, CollectionDatasource.Suspendable<T extends io.jmix.core.Entity,K>, CollectionDatasource.UnmuteEventsMode
Datasource.CommitMode, Datasource.ItemChangeEvent<T extends io.jmix.core.Entity>, Datasource.ItemChangeListener<T extends io.jmix.core.Entity>, Datasource.ItemPropertyChangeEvent<T extends io.jmix.core.Entity>, Datasource.ItemPropertyChangeListener<T extends io.jmix.core.Entity>, Datasource.State, Datasource.StateChangeEvent<T extends io.jmix.core.Entity>, Datasource.StateChangeListener<T extends io.jmix.core.Entity>
CollectionDatasource.Sortable.Order, CollectionDatasource.Sortable.SortInfo<P>
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
hierarchyPropertyName |
aggregatableDelegate, data, firstResult, inRefresh, lastQuery, prevQueries, queryKey, refreshOnResumeRequired, sortDelegate, sortOnDb, suspended
cacheable, componentValueListener, dataLoadError, filter, listenersSuspended, maxResults, query, queryParameters, refreshMode, refreshOnComponentValueChange, savedParameters, softDeletion, sortInfos, suspendedEvents, userSession
dataSupplier, dsContext, item, metaClass, state, view
allowCommit, backgroundWorker, commitMode, id, itemsToCreate, itemsToDelete, itemsToUpdate, listener, listenersEnabled, loadDynamicAttributes, metadata, modified, parentDs
Constructor and Description |
---|
HierarchicalDatasourceImpl() |
Modifier and Type | Method and Description |
---|---|
java.util.Collection<K> |
getChildren(K itemId)
Get children IDs for item with the given ID
|
java.lang.String |
getHierarchyPropertyName()
Property of entity which forms the hierarchy
|
K |
getParent(K itemId)
Get parent ID for item with the given ID
|
java.util.Collection<K> |
getRootItemIds()
Identifiers of all root items
|
boolean |
hasChildren(K itemId)
True if item with the given ID has children
|
boolean |
isRoot(K itemId)
True if item with the given ID is a root item
|
void |
setHierarchyPropertyName(java.lang.String hierarchyPropertyName)
Set property of entity which forms the hierarchy
|
addItem, addItemFirst, afterLoadData, afterRefresh, aggregate, aggregateValues, beforeLoadData, beforeRefresh, checkState, checkStateBeforeAdd, clear, committed, containsAllDataFromDb, containsItem, detachListener, doSort, excludeItem, firstItemId, getCompiledLoadContext, getFirstResult, getIdByIndex, getItem, getItemIds, getItemIds, getItems, getItemValue, includeItem, includeItemFirst, incrementQueryKey, indexOfId, initAggregatableDelegate, internalAddItem, internalIncludeItem, isFirstId, isLastId, isSuspended, lastItemId, loadData, modifyItem, needLoading, nextItemId, pinQuery, prepareLoadContext, prevItemId, refresh, refresh, refreshIfNotSuspended, refreshIfNotSuspended, removeItem, resetSortOrder, revert, setFirstResult, setSortDelegate, setSuspended, size, sort, unpinAllQuery, unpinLastQuery, updateItem
addCollectionChangeListener, checkDataLoadError, commit, createDataQuery, createEntityComparator, fireCollectionChanged, getCount, getItemNN, getJPQLQuery, getLastRefreshParameters, getLoggingTag, getMaxResults, getQuery, getQueryFilter, getQueryParameters, getRefreshMode, getRefreshOnComponentValueChange, getTemplateParams, isCacheable, isSoftDeletion, makeCaseInsensitive, mute, removeCollectionChangeListener, resumeListeners, setCacheable, setItem, setMaxResults, setQuery, setQuery, setQueryFilter, setRefreshMode, setRefreshOnComponentValueChange, setSoftDeletion, setSortDirection, suspendListeners, unmute
__setItem, getDataSupplier, getDsContext, getItem, getItemIfValid, getMetaClass, getState, getView, initialized, invalidate, setDataSupplier, setDsContext, setMetaClass, setup, setView, setView, valid
addItemChangeListener, addItemPropertyChangeListener, addParentsToNested, addStateChangeListener, attachListener, clearCommitLists, deleted, detachListener, enableListeners, fireItemChanged, fireStateChanged, getCommitMode, getEventRouter, getId, getItemsToCreate, getItemsToDelete, getItemsToUpdate, getLoadDynamicAttributes, getParent, isAllowCommit, isModified, modified, removeItemChangeListener, removeItemPropertyChangeListener, removeStateChangeListener, setAllowCommit, setCommitMode, setLoadDynamicAttributes, setModified, setParent, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addCollectionChangeListener, addItem, clear, containsItem, excludeItem, getCompiledLoadContext, getItem, getItemIds, getItemNN, getItems, getLastRefreshParameters, getMaxResults, getQuery, getQueryFilter, getRefreshOnComponentValueChange, includeItem, isCacheable, isSoftDeletion, modifyItem, mute, refresh, removeCollectionChangeListener, removeItem, resumeListeners, revert, setCacheable, setMaxResults, setQuery, setQuery, setQueryFilter, setRefreshOnComponentValueChange, setSoftDeletion, size, suspendListeners, unmute, updateItem
addItemChangeListener, addItemPropertyChangeListener, addStateChangeListener, commit, getCommitMode, getDataSupplier, getDsContext, getId, getItem, getItemIfValid, getLoadDynamicAttributes, getMetaClass, getState, getView, invalidate, isAllowCommit, isModified, refresh, removeItemChangeListener, removeItemPropertyChangeListener, removeStateChangeListener, setAllowCommit, setItem, setLoadDynamicAttributes, setup
getCount
clearCommitLists, deleted, enableListeners, getItemsToCreate, getItemsToDelete, getItemsToUpdate, getParent, modified, setCommitMode, setModified, setParent
public java.lang.String getHierarchyPropertyName()
HierarchicalDatasource
getHierarchyPropertyName
in interface HierarchicalDatasource<T extends io.jmix.core.Entity,K>
public void setHierarchyPropertyName(java.lang.String hierarchyPropertyName)
HierarchicalDatasource
setHierarchyPropertyName
in interface HierarchicalDatasource<T extends io.jmix.core.Entity,K>
public java.util.Collection<K> getChildren(K itemId)
HierarchicalDatasource
getChildren
in interface HierarchicalDatasource<T extends io.jmix.core.Entity,K>
public K getParent(K itemId)
HierarchicalDatasource
getParent
in interface HierarchicalDatasource<T extends io.jmix.core.Entity,K>
public java.util.Collection<K> getRootItemIds()
HierarchicalDatasource
getRootItemIds
in interface HierarchicalDatasource<T extends io.jmix.core.Entity,K>
public boolean isRoot(K itemId)
HierarchicalDatasource
isRoot
in interface HierarchicalDatasource<T extends io.jmix.core.Entity,K>
public boolean hasChildren(K itemId)
HierarchicalDatasource
hasChildren
in interface HierarchicalDatasource<T extends io.jmix.core.Entity,K>