public class DatasourceDataGridItems<E extends Entity<K>,K> extends java.lang.Object implements EntityDataGridItems<E>, AggregatableDataGridItems<E>, DatasourceDataUnit
DataGridItems.ItemSetChangeEvent<T>, DataGridItems.SelectedItemChangeEvent<T>, DataGridItems.Sortable<T>, DataGridItems.ValueChangeEvent<T>DataUnit.StateChangeEvent| Modifier and Type | Field and Description |
|---|---|
protected CollectionDatasource.Indexed<E,K> |
datasource |
protected EventHub |
events |
protected BindingState |
state |
| Constructor and Description |
|---|
DatasourceDataGridItems(CollectionDatasource<E,K> datasource) |
| Modifier and Type | Method and Description |
|---|---|
Subscription |
addItemSetChangeListener(java.util.function.Consumer<DataGridItems.ItemSetChangeEvent<E>> listener)
Registers a new item set change listener.
|
Subscription |
addSelectedItemChangeListener(java.util.function.Consumer<DataGridItems.SelectedItemChangeEvent<E>> listener)
Registers a new selected item change listener.
|
Subscription |
addStateChangeListener(java.util.function.Consumer<DataUnit.StateChangeEvent> listener)
Registers a new state change listener.
|
Subscription |
addValueChangeListener(java.util.function.Consumer<DataGridItems.ValueChangeEvent<E>> listener)
Registers a new value change listener.
|
java.util.Map<AggregationInfo,java.lang.String> |
aggregate(AggregationInfo[] aggregationInfos,
java.util.Collection<?> itemIds)
Perform aggregation and return map with formatted string values.
|
java.util.Map<AggregationInfo,java.lang.Object> |
aggregateValues(AggregationInfo[] aggregationInfos,
java.util.Collection<?> itemIds)
Perform aggregation and return map with aggregation info and aggregation column type, i.e.
|
boolean |
containsItem(E item) |
protected void |
datasourceCollectionChanged(CollectionDatasource.CollectionChangeEvent<E,K> e) |
protected void |
datasourceItemChanged(Datasource.ItemChangeEvent<E> e) |
protected void |
datasourceItemPropertyChanged(Datasource.ItemPropertyChangeEvent<E> e) |
protected void |
datasourceStateChanged(Datasource.StateChangeEvent<E> e) |
CollectionDatasource<E,K> |
getDatasource() |
MetaClass |
getEntityMetaClass() |
E |
getItem(java.lang.Object itemId) |
E |
getItemByIndex(int index) |
java.lang.Object |
getItemId(E item) |
java.util.stream.Stream<E> |
getItems() |
java.util.List<E> |
getItems(int startIndex,
int numberOfItems) |
E |
getSelectedItem() |
BindingState |
getState() |
int |
indexOfItem(E item) |
void |
setSelectedItem(E item)
Set current item in the source.
|
void |
setState(BindingState state) |
int |
size() |
protected CollectionDatasource.Indexed<E extends Entity<K>,K> datasource
protected EventHub events
protected BindingState state
public DatasourceDataGridItems(CollectionDatasource<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 CollectionDatasource<E,K> getDatasource()
getDatasource in interface DatasourceDataUnitpublic MetaClass getEntityMetaClass()
getEntityMetaClass in interface EntityDataUnitMetaClass of an entity contained in the sourcepublic BindingState getState()
public void setState(BindingState state)
public java.lang.Object getItemId(E item)
getItemId in interface DataGridItems<E extends Entity<K>>item - the item for obtaining the idpublic E getItem(java.lang.Object itemId)
getItem in interface DataGridItems<E extends Entity<K>>itemId - the item idpublic int indexOfItem(E item)
indexOfItem in interface DataGridItems<E extends Entity<K>>item - the item for obtaining the index@Nullable public E getItemByIndex(int index)
getItemByIndex in interface DataGridItems<E extends Entity<K>>index - the item indexpublic java.util.stream.Stream<E> getItems()
getItems in interface DataGridItems<E extends Entity<K>>public java.util.List<E> getItems(int startIndex, int numberOfItems)
getItems in interface DataGridItems<E extends Entity<K>>startIndex - the start indexnumberOfItems - the number of itemsstartIndex and size not exceeding the specified numberpublic boolean containsItem(E item)
containsItem in interface DataGridItems<E extends Entity<K>>item - an item to checktrue if the underlying collection contains an item, false otherwisepublic int size()
size in interface DataGridItems<E extends Entity<K>>public E getSelectedItem()
getSelectedItem in interface DataGridItems<E extends Entity<K>>public void setSelectedItem(@Nullable
E item)
DataGridItemssetSelectedItem in interface DataGridItems<E extends Entity<K>>item - the item to setpublic Subscription addStateChangeListener(java.util.function.Consumer<DataUnit.StateChangeEvent> listener)
DataUnitaddStateChangeListener in interface DataUnitlistener - the listener to be addedpublic Subscription addValueChangeListener(java.util.function.Consumer<DataGridItems.ValueChangeEvent<E>> listener)
DataGridItemsaddValueChangeListener in interface DataGridItems<E extends Entity<K>>listener - the listener to be addedpublic Subscription addItemSetChangeListener(java.util.function.Consumer<DataGridItems.ItemSetChangeEvent<E>> listener)
DataGridItemsaddItemSetChangeListener in interface DataGridItems<E extends Entity<K>>listener - the listener to be addedpublic Subscription addSelectedItemChangeListener(java.util.function.Consumer<DataGridItems.SelectedItemChangeEvent<E>> listener)
DataGridItemsaddSelectedItemChangeListener in interface DataGridItems<E extends Entity<K>>listener - the listener to be addedpublic java.util.Map<AggregationInfo,java.lang.String> aggregate(AggregationInfo[] aggregationInfos, java.util.Collection<?> itemIds)
AggregatableDataGridItemsaggregate in interface AggregatableDataGridItems<E extends Entity<K>>aggregationInfos - aggregation infositemIds - collection of item idspublic java.util.Map<AggregationInfo,java.lang.Object> aggregateValues(AggregationInfo[] aggregationInfos, java.util.Collection<?> itemIds)
AggregatableDataGridItemsaggregateValues in interface AggregatableDataGridItems<E extends Entity<K>>aggregationInfos - aggregation infositemIds - collection of item ids