public class DatasourceTableItems<E extends Entity<K>,K> extends java.lang.Object implements EntityTableItems<E>, DatasourceDataUnit, AggregatableTableItems<E>
TableItems.ItemSetChangeEvent<T>, TableItems.Ordered<T>, TableItems.SelectedItemChangeEvent<T>, TableItems.Sortable<T>, TableItems.ValueChangeEvent<T>| Modifier and Type | Field and Description |
|---|---|
protected CollectionDatasource |
datasource |
protected EventHub |
events |
protected BindingState |
state |
| Constructor and Description |
|---|
DatasourceTableItems(CollectionDatasource<E,K> datasource) |
| Modifier and Type | Method and Description |
|---|---|
Subscription |
addItemSetChangeListener(java.util.function.Consumer<TableItems.ItemSetChangeEvent<E>> listener)
Registers a new item set change listener.
|
Subscription |
addSelectedItemChangeListener(java.util.function.Consumer<TableItems.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<TableItems.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 |
containsId(java.lang.Object itemId) |
protected void |
datasourceCollectionChanged(CollectionDatasource.CollectionChangeEvent<E,K> e) |
protected void |
datasourceItemChanged(Datasource.ItemChangeEvent event) |
protected void |
datasourceItemPropertyChanged(Datasource.ItemPropertyChangeEvent<E> e) |
protected void |
datasourceStateChanged(Datasource.StateChangeEvent<E> e) |
CollectionDatasource |
getDatasource() |
MetaClass |
getEntityMetaClass() |
E |
getItem(java.lang.Object itemId) |
java.util.Collection<?> |
getItemIds() |
java.util.Collection<E> |
getItems() |
java.lang.Object |
getItemValue(java.lang.Object itemId,
java.lang.Object propertyId) |
E |
getSelectedItem() |
BindingState |
getState() |
java.lang.Class<?> |
getType(java.lang.Object propertyId) |
void |
setSelectedItem(E item)
Set current item in the source.
|
void |
setState(BindingState state) |
int |
size() |
boolean |
supportsProperty(java.lang.Object propertyId) |
void |
updateItem(E item)
Update an item in the collection if it is already there.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetItemNNprotected CollectionDatasource datasource
protected EventHub events
protected BindingState state
public DatasourceTableItems(CollectionDatasource<E,K> datasource)
protected void datasourceItemChanged(Datasource.ItemChangeEvent event)
protected void datasourceCollectionChanged(CollectionDatasource.CollectionChangeEvent<E,K> e)
protected void datasourceItemPropertyChanged(Datasource.ItemPropertyChangeEvent<E> e)
protected void datasourceStateChanged(Datasource.StateChangeEvent<E> e)
public void setState(BindingState state)
public CollectionDatasource getDatasource()
getDatasource in interface DatasourceDataUnitpublic java.util.Collection<?> getItemIds()
getItemIds in interface TableItems<E extends Entity<K>>public E getSelectedItem()
getSelectedItem in interface EntityTableItems<E extends Entity<K>>public void setSelectedItem(@Nullable
E item)
EntityTableItemssetSelectedItem in interface EntityTableItems<E extends Entity<K>>item - the item to setpublic E getItem(java.lang.Object itemId)
getItem in interface TableItems<E extends Entity<K>>public java.lang.Object getItemValue(java.lang.Object itemId,
java.lang.Object propertyId)
getItemValue in interface TableItems<E extends Entity<K>>public void updateItem(E item)
TableItemsupdateItem in interface TableItems<E extends Entity<K>>item - the item to updatepublic int size()
size in interface TableItems<E extends Entity<K>>public boolean containsId(java.lang.Object itemId)
containsId in interface TableItems<E extends Entity<K>>public BindingState getState()
public java.lang.Class<?> getType(java.lang.Object propertyId)
getType in interface TableItems<E extends Entity<K>>public boolean supportsProperty(java.lang.Object propertyId)
supportsProperty in interface TableItems<E extends Entity<K>>public java.util.Collection<E> getItems()
getItems in interface TableItems<E extends Entity<K>>public Subscription addStateChangeListener(java.util.function.Consumer<DataUnit.StateChangeEvent> listener)
DataUnitaddStateChangeListener in interface DataUnitlistener - the listener to be addedpublic Subscription addValueChangeListener(java.util.function.Consumer<TableItems.ValueChangeEvent<E>> listener)
TableItemsaddValueChangeListener in interface TableItems<E extends Entity<K>>listener - the listener to be addedpublic Subscription addItemSetChangeListener(java.util.function.Consumer<TableItems.ItemSetChangeEvent<E>> listener)
TableItemsaddItemSetChangeListener in interface TableItems<E extends Entity<K>>listener - the listener to be addedpublic Subscription addSelectedItemChangeListener(java.util.function.Consumer<TableItems.SelectedItemChangeEvent<E>> listener)
TableItemsaddSelectedItemChangeListener in interface TableItems<E extends Entity<K>>listener - the listener to be addedpublic MetaClass getEntityMetaClass()
getEntityMetaClass in interface EntityDataUnitMetaClass of an entity contained in the sourcepublic java.util.Map<AggregationInfo,java.lang.String> aggregate(AggregationInfo[] aggregationInfos, java.util.Collection<?> itemIds)
AggregatableTableItemsaggregate in interface AggregatableTableItems<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)
AggregatableTableItemsaggregateValues in interface AggregatableTableItems<E extends Entity<K>>aggregationInfos - aggregation infositemIds - collection of item ids