public class DatasourceTreeItems<E extends Entity<K>,K> extends java.lang.Object implements EntityTreeItems<E>
TreeItems.ItemSetChangeEvent<T>, TreeItems.SelectedItemChangeEvent<T>, TreeItems.ValueChangeEvent<T>
DataUnit.StateChangeEvent
Modifier and Type | Field and Description |
---|---|
protected HierarchicalDatasource<E,K> |
datasource |
protected EventHub |
events |
protected BindingState |
state |
Constructor and Description |
---|
DatasourceTreeItems(HierarchicalDatasource<E,K> datasource) |
protected HierarchicalDatasource<E extends Entity<K>,K> datasource
protected EventHub events
protected BindingState state
public DatasourceTreeItems(HierarchicalDatasource<E,K> datasource)
protected void datasourceItemChanged(Datasource.ItemChangeEvent<E> e)
protected void datasourceCollectionChanged(CollectionDatasource.CollectionChangeEvent<E,K> e)
protected void datasourceItemPropertyChanged(Datasource.ItemPropertyChangeEvent<E> e)
protected void datasourceStateChanged(Datasource.StateChangeEvent<E> e)
public HierarchicalDatasource<E,K> getDatasource()
public MetaClass getEntityMetaClass()
getEntityMetaClass
in interface EntityDataUnit
MetaClass
of an entity contained in the sourcepublic BindingState getState()
public void setState(BindingState state)
public java.lang.Object getItemId(E item)
public E getItem(@Nullable java.lang.Object itemId)
public java.util.stream.Stream<E> getItems()
public boolean containsItem(E item)
containsItem
in interface TreeItems<E extends Entity<K>>
item
- an item to checktrue
if the underlying collection contains an item, false
otherwisepublic int size()
public E getSelectedItem()
getSelectedItem
in interface EntityTreeItems<E extends Entity<K>>
public void setSelectedItem(@Nullable E item)
EntityTreeItems
setSelectedItem
in interface EntityTreeItems<E extends Entity<K>>
item
- the item to setpublic int getChildCount(E parent)
getChildCount
in interface TreeItems<E extends Entity<K>>
parent
- the parent itempublic java.util.stream.Stream<E> getChildren(E item)
getChildren
in interface TreeItems<E extends Entity<K>>
item
- the item to obtain children or null
to get root itemspublic boolean hasChildren(E item)
hasChildren
in interface TreeItems<E extends Entity<K>>
item
- the item to checktrue
if the item has children, false
otherwisepublic java.lang.String getHierarchyPropertyName()
getHierarchyPropertyName
in interface TreeItems<E extends Entity<K>>
public Subscription addStateChangeListener(java.util.function.Consumer<DataUnit.StateChangeEvent> listener)
DataUnit
addStateChangeListener
in interface DataUnit
listener
- the listener to be addedpublic Subscription addValueChangeListener(java.util.function.Consumer<TreeItems.ValueChangeEvent<E>> listener)
TreeItems
addValueChangeListener
in interface TreeItems<E extends Entity<K>>
listener
- the listener to be addedpublic Subscription addItemSetChangeListener(java.util.function.Consumer<TreeItems.ItemSetChangeEvent<E>> listener)
TreeItems
addItemSetChangeListener
in interface TreeItems<E extends Entity<K>>
listener
- the listener to be addedpublic Subscription addSelectedItemChangeListener(java.util.function.Consumer<TreeItems.SelectedItemChangeEvent<E>> listener)
TreeItems
addSelectedItemChangeListener
in interface TreeItems<E extends Entity<K>>
listener
- the listener to be added