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 DatasourceDataUnit
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)
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)
DataGridItems
setSelectedItem
in interface DataGridItems<E extends Entity<K>>
item
- the item to setpublic 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<DataGridItems.ValueChangeEvent<E>> listener)
DataGridItems
addValueChangeListener
in interface DataGridItems<E extends Entity<K>>
listener
- the listener to be addedpublic Subscription addItemSetChangeListener(java.util.function.Consumer<DataGridItems.ItemSetChangeEvent<E>> listener)
DataGridItems
addItemSetChangeListener
in interface DataGridItems<E extends Entity<K>>
listener
- the listener to be addedpublic Subscription addSelectedItemChangeListener(java.util.function.Consumer<DataGridItems.SelectedItemChangeEvent<E>> listener)
DataGridItems
addSelectedItemChangeListener
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)
AggregatableDataGridItems
aggregate
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)
AggregatableDataGridItems
aggregateValues
in interface AggregatableDataGridItems<E extends Entity<K>>
aggregationInfos
- aggregation infositemIds
- collection of item ids