public class ContainerDataGridItems<E extends Entity> extends java.lang.Object implements EntityDataGridItems<E>, AggregatableDataGridItems<E>, DataGridItems.Sortable<E>, ContainerDataUnit<E>
DataGridItems.ItemSetChangeEvent<T>, DataGridItems.SelectedItemChangeEvent<T>, DataGridItems.Sortable<T>, DataGridItems.ValueChangeEvent<T>DataUnit.StateChangeEvent| Modifier and Type | Field and Description |
|---|---|
protected AggregatableDelegate |
aggregatableDelegate |
protected CollectionContainer<E> |
container |
protected EventHub |
events |
protected boolean |
suppressSorting |
| Constructor and Description |
|---|
ContainerDataGridItems(CollectionContainer<E> container) |
| 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.
|
protected void |
containerCollectionChanged(CollectionContainer.CollectionChangeEvent<E> e) |
protected void |
containerItemChanged(InstanceContainer.ItemChangeEvent<E> event) |
protected void |
containerItemPropertyChanged(InstanceContainer.ItemPropertyChangeEvent<E> e) |
boolean |
containsItem(E item) |
protected AggregatableDelegate |
createAggregatableDelegate() |
protected Sort |
createSort(java.lang.Object[] propertyId,
boolean[] ascending) |
void |
enableSorting() |
CollectionContainer<E> |
getContainer() |
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 |
resetSortOrder() |
void |
setSelectedItem(E item)
Set current item in the source.
|
int |
size() |
void |
sort(java.lang.Object[] propertyId,
boolean[] ascending) |
void |
suppressSorting() |
protected CollectionContainer<E extends Entity> container
protected boolean suppressSorting
protected AggregatableDelegate aggregatableDelegate
protected EventHub events
public ContainerDataGridItems(CollectionContainer<E> container)
public CollectionContainer<E> getContainer()
getContainer in interface ContainerDataUnit<E extends Entity>protected void containerItemChanged(InstanceContainer.ItemChangeEvent<E> event)
protected void containerCollectionChanged(CollectionContainer.CollectionChangeEvent<E> e)
protected void containerItemPropertyChanged(InstanceContainer.ItemPropertyChangeEvent<E> e)
public MetaClass getEntityMetaClass()
getEntityMetaClass in interface EntityDataUnitMetaClass of an entity contained in the sourcepublic BindingState getState()
public java.lang.Object getItemId(E item)
getItemId in interface DataGridItems<E extends Entity>item - the item for obtaining the idpublic E getItem(java.lang.Object itemId)
getItem in interface DataGridItems<E extends Entity>itemId - the item idpublic int indexOfItem(E item)
indexOfItem in interface DataGridItems<E extends Entity>item - the item for obtaining the index@Nullable public E getItemByIndex(int index)
getItemByIndex in interface DataGridItems<E extends Entity>index - the item indexpublic java.util.stream.Stream<E> getItems()
getItems in interface DataGridItems<E extends Entity>public java.util.List<E> getItems(int startIndex, int numberOfItems)
getItems in interface DataGridItems<E extends Entity>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>item - an item to checktrue if the underlying collection contains an item, false otherwisepublic int size()
size in interface DataGridItems<E extends Entity>@Nullable public E getSelectedItem()
getSelectedItem in interface DataGridItems<E extends Entity>public void setSelectedItem(@Nullable
E item)
DataGridItemssetSelectedItem in interface DataGridItems<E extends Entity>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>listener - the listener to be addedpublic Subscription addItemSetChangeListener(java.util.function.Consumer<DataGridItems.ItemSetChangeEvent<E>> listener)
DataGridItemsaddItemSetChangeListener in interface DataGridItems<E extends Entity>listener - the listener to be addedpublic Subscription addSelectedItemChangeListener(java.util.function.Consumer<DataGridItems.SelectedItemChangeEvent<E>> listener)
DataGridItemsaddSelectedItemChangeListener in interface DataGridItems<E extends Entity>listener - the listener to be addedpublic void sort(java.lang.Object[] propertyId,
boolean[] ascending)
sort in interface DataGridItems.Sortable<E extends Entity>protected Sort createSort(java.lang.Object[] propertyId, boolean[] ascending)
public void resetSortOrder()
resetSortOrder in interface DataGridItems.Sortable<E extends Entity>public void suppressSorting()
suppressSorting in interface DataGridItems.Sortable<E extends Entity>public void enableSorting()
enableSorting in interface DataGridItems.Sortable<E extends Entity>public java.util.Map<AggregationInfo,java.lang.String> aggregate(AggregationInfo[] aggregationInfos, java.util.Collection<?> itemIds)
AggregatableDataGridItemsaggregate in interface AggregatableDataGridItems<E extends Entity>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>aggregationInfos - aggregation infositemIds - collection of item idsprotected AggregatableDelegate createAggregatableDelegate()