public class ContainerTableItems<E extends Entity> extends java.lang.Object implements EntityTableItems<E>, TableItems.Sortable<E>, ContainerDataUnit<E>, AggregatableTableItems<E>
TableItems.ItemSetChangeEvent<T>, TableItems.Ordered<T>, TableItems.SelectedItemChangeEvent<T>, TableItems.Sortable<T>, TableItems.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 |
---|
ContainerTableItems(CollectionContainer<E> container) |
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.
|
protected void |
containerCollectionChanged(CollectionContainer.CollectionChangeEvent<E> e) |
protected void |
containerItemChanged(InstanceContainer.ItemChangeEvent<E> event) |
protected void |
containerItemPropertyChanged(InstanceContainer.ItemPropertyChangeEvent<E> e) |
boolean |
containsId(java.lang.Object itemId) |
AggregatableDelegate |
createAggregatableDelegate() |
protected Sort |
createSort(java.lang.Object[] propertyId,
boolean[] ascending) |
void |
enableSorting() |
java.lang.Object |
firstItemId() |
CollectionContainer<E> |
getContainer() |
MetaClass |
getEntityMetaClass() |
E |
getItem(java.lang.Object itemId) |
java.util.Collection<?> |
getItemIds() |
E |
getItemNN(java.lang.Object itemId) |
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) |
boolean |
isFirstId(java.lang.Object itemId)
Tests if the Item corresponding to the given Item ID is the first item.
|
boolean |
isLastId(java.lang.Object itemId)
Tests if the item corresponding to the given item ID is the last item.
|
java.lang.Object |
lastItemId() |
java.lang.Object |
nextItemId(java.lang.Object itemId)
Gets the ID of the item following the Item that corresponds to
itemId . |
java.lang.Object |
prevItemId(java.lang.Object itemId)
Gets the ID of the item preceding the item that corresponds to
itemId . |
void |
resetSortOrder()
Resets sort order.
|
void |
setSelectedItem(E item)
Set current item in the source.
|
int |
size() |
void |
sort(java.lang.Object[] propertyId,
boolean[] ascending)
Sorts data.
|
boolean |
supportsProperty(java.lang.Object propertyId) |
void |
suppressSorting() |
void |
updateItem(E item)
Update an item in the collection if it is already there.
|
protected CollectionContainer<E extends Entity> container
protected AggregatableDelegate aggregatableDelegate
protected boolean suppressSorting
protected EventHub events
public ContainerTableItems(CollectionContainer<E> container)
public AggregatableDelegate createAggregatableDelegate()
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 java.util.Collection<?> getItemIds()
getItemIds
in interface TableItems<E extends Entity>
public java.util.Collection<E> getItems()
getItems
in interface TableItems<E extends Entity>
@Nullable public E getItem(java.lang.Object itemId)
getItem
in interface TableItems<E extends Entity>
public E getItemNN(java.lang.Object itemId)
getItemNN
in interface TableItems<E extends Entity>
public void updateItem(E item)
TableItems
updateItem
in interface TableItems<E extends Entity>
item
- the item to updatepublic java.lang.Object getItemValue(java.lang.Object itemId, java.lang.Object propertyId)
getItemValue
in interface TableItems<E extends Entity>
public int size()
size
in interface TableItems<E extends Entity>
public boolean containsId(java.lang.Object itemId)
containsId
in interface TableItems<E extends Entity>
public BindingState getState()
public java.lang.Class<?> getType(java.lang.Object propertyId)
getType
in interface TableItems<E extends Entity>
public boolean supportsProperty(java.lang.Object propertyId)
supportsProperty
in interface TableItems<E extends Entity>
@Nullable public E getSelectedItem()
getSelectedItem
in interface EntityTableItems<E extends Entity>
public void setSelectedItem(@Nullable E item)
EntityTableItems
setSelectedItem
in interface EntityTableItems<E extends Entity>
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<TableItems.ValueChangeEvent<E>> listener)
TableItems
addValueChangeListener
in interface TableItems<E extends Entity>
listener
- the listener to be addedpublic Subscription addItemSetChangeListener(java.util.function.Consumer<TableItems.ItemSetChangeEvent<E>> listener)
TableItems
addItemSetChangeListener
in interface TableItems<E extends Entity>
listener
- the listener to be addedpublic Subscription addSelectedItemChangeListener(java.util.function.Consumer<TableItems.SelectedItemChangeEvent<E>> listener)
TableItems
addSelectedItemChangeListener
in interface TableItems<E extends Entity>
listener
- the listener to be addedpublic MetaClass getEntityMetaClass()
getEntityMetaClass
in interface EntityDataUnit
MetaClass
of an entity contained in the sourcepublic java.lang.Object nextItemId(java.lang.Object itemId)
TableItems.Ordered
itemId
.nextItemId
in interface TableItems.Ordered<E extends Entity>
itemId
- item idnull
public java.lang.Object prevItemId(java.lang.Object itemId)
TableItems.Ordered
itemId
.prevItemId
in interface TableItems.Ordered<E extends Entity>
itemId
- item idnull
public java.lang.Object firstItemId()
firstItemId
in interface TableItems.Ordered<E extends Entity>
public java.lang.Object lastItemId()
lastItemId
in interface TableItems.Ordered<E extends Entity>
public boolean isFirstId(java.lang.Object itemId)
TableItems.Ordered
isFirstId
in interface TableItems.Ordered<E extends Entity>
itemId
- item idtrue
if the item is first visible item, false
if notpublic boolean isLastId(java.lang.Object itemId)
TableItems.Ordered
isLastId
in interface TableItems.Ordered<E extends Entity>
itemId
- item idtrue
if the item is last visible item in the, false
if notpublic void sort(java.lang.Object[] propertyId, boolean[] ascending)
TableItems.Sortable
sort
in interface TableItems.Sortable<E extends Entity>
propertyId
- id of propertyascending
- asc / desc flagsprotected Sort createSort(java.lang.Object[] propertyId, boolean[] ascending)
public void resetSortOrder()
TableItems.Sortable
resetSortOrder
in interface TableItems.Sortable<E extends Entity>
public java.util.Map<AggregationInfo,java.lang.String> aggregate(AggregationInfo[] aggregationInfos, java.util.Collection<?> itemIds)
AggregatableTableItems
aggregate
in interface AggregatableTableItems<E extends Entity>
aggregationInfos
- aggregation infositemIds
- collection of item idspublic java.util.Map<AggregationInfo,java.lang.Object> aggregateValues(AggregationInfo[] aggregationInfos, java.util.Collection<?> itemIds)
AggregatableTableItems
aggregateValues
in interface AggregatableTableItems<E extends Entity>
aggregationInfos
- aggregation infositemIds
- collection of item idspublic void suppressSorting()
suppressSorting
in interface TableItems.Sortable<E extends Entity>
public void enableSorting()
enableSorting
in interface TableItems.Sortable<E extends Entity>