public class CollectionPropertyDatasourceImpl<T extends Entity<K>,K> extends PropertyDatasourceImpl<T> implements CollectionDatasource<T,K>, CollectionDatasource.Indexed<T,K>, CollectionDatasource.Sortable<T,K>, CollectionDatasource.Aggregatable<T,K>
CollectionDatasource.Sortable.Order, CollectionDatasource.Sortable.SortInfo<P>CollectionDatasource.Aggregatable<T extends Entity<K>,K>, CollectionDatasource.CollectionChangeEvent<T extends Entity<K>,K>, CollectionDatasource.CollectionChangeListener<T extends Entity<K>,K>, CollectionDatasource.Indexed<T extends Entity<K>,K>, CollectionDatasource.Lazy<T extends Entity<K>,K>, CollectionDatasource.Operation, CollectionDatasource.Ordered<T extends Entity<K>,K>, CollectionDatasource.RefreshMode, CollectionDatasource.Sortable<T extends Entity<K>,K>, CollectionDatasource.SupportsApplyToSelected<T extends Entity<K>,K>, CollectionDatasource.SupportsPaging<T extends Entity<K>,K>, CollectionDatasource.SupportsRefreshMode<T extends Entity<K>,K>, CollectionDatasource.Suspendable<T extends Entity<K>,K>Datasource.CommitMode, Datasource.ItemChangeEvent<T extends Entity>, Datasource.ItemChangeListener<T extends Entity>, Datasource.ItemPropertyChangeEvent<T extends Entity>, Datasource.ItemPropertyChangeListener<T extends Entity>, Datasource.State, Datasource.StateChangeEvent<T extends Entity>, Datasource.StateChangeListener<T extends Entity>| Constructor and Description |
|---|
CollectionPropertyDatasourceImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
addCollectionChangeListener(CollectionDatasource.CollectionChangeListener<T,K> listener) |
void |
addItem(T item)
Add an item to the collection.
|
void |
addItemFirst(T item)
Add an item to the collection to the first position.
|
void |
addListener(DatasourceListener<T> listener)
Add listener to datasource events.
|
java.util.Map<AggregationInfo,java.lang.String> |
aggregate(AggregationInfo[] aggregationInfos,
java.util.Collection<K> itemIds)
Perform aggregation
|
void |
clear()
Clear the underlying collection.
|
void |
committed(java.util.Set<Entity> entities)
Invoked after commit.
|
boolean |
containsItem(K itemId) |
void |
excludeItem(T item)
Exclude an item from the collection.
|
K |
firstItemId() |
LoadContext |
getCompiledLoadContext() |
K |
getIdByIndex(int index) |
T |
getItem() |
T |
getItem(K id) |
java.util.Collection<K> |
getItemIds() |
java.util.List<K> |
getItemIds(int startIndex,
int numberOfItems) |
T |
getItemNN(K id) |
java.util.Collection<T> |
getItems()
In standard implementations this is a wrapper method around
CollectionDatasource.getItemIds() and CollectionDatasource.getItem(Object). |
java.util.Map<java.lang.String,java.lang.Object> |
getLastRefreshParameters()
Returns the parameters last used in
CollectionDatasource.refresh(Map) method or empty map if there was no refresh with parameters |
int |
getMaxResults() |
java.lang.String |
getQuery() |
QueryFilter |
getQueryFilter() |
boolean |
getRefreshOnComponentValueChange()
Whether to refresh datasource on changing value of a component which it depends on
(through
component$ parameter) |
void |
includeItem(T item)
Include an item into the collection.
|
void |
includeItemFirst(T item)
Include an item into the collection to the first position.
|
int |
indexOfId(K itemId) |
boolean |
isCacheable() |
boolean |
isFirstId(K itemId) |
boolean |
isLastId(K itemId) |
boolean |
isSoftDeletion() |
K |
lastItemId() |
void |
modified(T item)
Invoked when the given instance is modified.
|
void |
modifyItem(T item)
Update an item in the collection if it is already there.
|
K |
nextItemId(K itemId) |
K |
prevItemId(K itemId) |
void |
refresh()
Refreshes the datasource moving it to the
Datasource.State.VALID state |
void |
refresh(java.util.Map<java.lang.String,java.lang.Object> parameters)
Refresh datasource passing specified parameters to the query.
|
void |
removeCollectionChangeListener(CollectionDatasource.CollectionChangeListener<T,K> listener) |
void |
removeItem(T item)
Remove an item from the collection.
|
void |
removeListener(DatasourceListener<T> listener)
Remove listener to datasource events
|
void |
replaceItem(T item) |
void |
resetSortOrder()
Remove sort infos
|
void |
resumeListeners()
Resume invocation of
collectionChanged method of registered CollectionDatasource.CollectionChangeListeners
after calling CollectionDatasource.suspendListeners(). |
void |
revert()
Revert the datasource to its initial state before data modification.
|
void |
setCacheable(boolean cacheable)
Indicates that the datasource query results should be cached in the middleware query cache.
|
void |
setItem(T item)
Set current entity in the datasource.
|
void |
setMaxResults(int maxResults)
Set max number of rows.
|
void |
setQuery(java.lang.String query)
Set query string which is used to load data.
|
void |
setQuery(java.lang.String query,
QueryFilter filter)
Set query string and associated filter which is used to load data.
|
void |
setQueryFilter(QueryFilter filter)
Set query filter which is used to load data.
|
void |
setRefreshOnComponentValueChange(boolean refresh)
Whether to refresh datasource on changing value of a component which it depends on
(through
component$ parameter) |
void |
setSoftDeletion(boolean softDeletion)
Switch on/off Soft Deletion.
|
void |
setup(java.lang.String id,
Datasource masterDs,
java.lang.String property)
Setup the datasource right after creation.
|
int |
size() |
void |
sort(CollectionDatasource.Sortable.SortInfo[] sortInfos)
Perform sorting
|
void |
suspendListeners()
Suspend invocation of
collectionChanged method of registered CollectionDatasource.CollectionChangeListeners. |
void |
updateItem(T item)
Update an item in the collection if it is already there.
|
commit, getDataSupplier, getDsContext, getItemIfValid, getMaster, getMetaClass, getProperty, getState, getView, initialized, invalidate, validaddItemChangeListener, addItemPropertyChangeListener, addStateChangeListener, clearCommitLists, deleted, enableListeners, getCommitMode, getId, getItemsToCreate, getItemsToDelete, getItemsToUpdate, getLoadDynamicAttributes, getParent, isAllowCommit, isModified, removeItemChangeListener, removeItemPropertyChangeListener, removeStateChangeListener, setAllowCommit, setCommitMode, setLoadDynamicAttributes, setModified, setParent, setup, toStringequals, getClass, hashCode, notify, notifyAll, wait, wait, waitaddItemChangeListener, addItemPropertyChangeListener, addStateChangeListener, commit, getCommitMode, getDataSupplier, getDsContext, getId, getItemIfValid, getLoadDynamicAttributes, getMetaClass, getState, getView, invalidate, isAllowCommit, isModified, removeItemChangeListener, removeItemPropertyChangeListener, removeStateChangeListener, setAllowCommit, setLoadDynamicAttributes, setupclearCommitLists, deleted, enableListeners, getItemsToCreate, getItemsToDelete, getItemsToUpdate, getParent, setCommitMode, setModified, setParentpublic void setup(java.lang.String id,
Datasource masterDs,
java.lang.String property)
NestedDatasourcesetup in interface NestedDatasource<T extends Entity<K>>setup in class PropertyDatasourceImpl<T extends Entity<K>>id - datasource IDmasterDs - master datasourceproperty - property of the master datasource to bound this datasource topublic java.util.Collection<K> getItemIds()
getItemIds in interface CollectionDatasource<T extends Entity<K>,K>public java.util.Collection<T> getItems()
CollectionDatasourceCollectionDatasource.getItemIds() and CollectionDatasource.getItem(Object).
Use it only if you really need the collection of items. Otherwise use CollectionDatasource.getItemIds() or CollectionDatasource.size()
directly.public T getItem()
getItem in interface Datasource<T extends Entity<K>>getItem in class PropertyDatasourceImpl<T extends Entity<K>>public void setItem(T item)
DatasourcesetItem in interface Datasource<T extends Entity<K>>setItem in class PropertyDatasourceImpl<T extends Entity<K>>item - entity instancepublic void refresh()
DatasourceDatasource.State.VALID staterefresh in interface Datasource<T extends Entity<K>>refresh in class PropertyDatasourceImpl<T extends Entity<K>>public int size()
public void addItem(T item)
CollectionDatasourcepublic void addItemFirst(T item)
CollectionDatasource.OrderedaddItemFirst in interface CollectionDatasource.Ordered<T extends Entity<K>,K>public void removeItem(T item)
CollectionDatasourceremoveItem in interface CollectionDatasource<T extends Entity<K>,K>public void excludeItem(T item)
CollectionDatasourceexcludeItem in interface CollectionDatasource<T extends Entity<K>,K>public void includeItem(T item)
CollectionDatasourceincludeItem in interface CollectionDatasource<T extends Entity<K>,K>public void includeItemFirst(T item)
CollectionDatasource.OrderedincludeItemFirst in interface CollectionDatasource.Ordered<T extends Entity<K>,K>public void clear()
CollectionDatasourcepublic void revert()
CollectionDatasourcepublic void modifyItem(T item)
CollectionDatasourcemodifyItem in interface CollectionDatasource<T extends Entity<K>,K>public void updateItem(T item)
CollectionDatasourceupdateItem in interface CollectionDatasource<T extends Entity<K>,K>public void modified(T item)
DatasourceImplementationmodified in interface DatasourceImplementation<T extends Entity<K>>modified in class PropertyDatasourceImpl<T extends Entity<K>>public void replaceItem(T item)
public boolean containsItem(K itemId)
containsItem in interface CollectionDatasource<T extends Entity<K>,K>public java.lang.String getQuery()
public LoadContext getCompiledLoadContext()
getCompiledLoadContext in interface CollectionDatasource<T extends Entity<K>,K>public QueryFilter getQueryFilter()
getQueryFilter in interface CollectionDatasource<T extends Entity<K>,K>public void setQuery(java.lang.String query)
CollectionDatasourceds$ - current item in the specified datasource
component$ - value of the specified UI component
param$ - value of parameter passed to the window when opening it
session$ - userId represents current or substituted user ID,
userLogin represents current or substituted user login in lower case,
any other string represents a user session attribute with this name
custom$ - value of parameter passed to the CollectionDatasource.refresh(java.util.Map) method
public void setQuery(java.lang.String query,
QueryFilter filter)
CollectionDatasourceCollectionDatasource.setQuery(String) for the list of supported query parameters.public void setQueryFilter(QueryFilter filter)
CollectionDatasourceCollectionDatasource.setQuery(String) for the list of supported query parameters.setQueryFilter in interface CollectionDatasource<T extends Entity<K>,K>public int getMaxResults()
getMaxResults in interface CollectionDatasource<T extends Entity<K>,K>public void setMaxResults(int maxResults)
CollectionDatasourcesetMaxResults in interface CollectionDatasource<T extends Entity<K>,K>public void refresh(java.util.Map<java.lang.String,java.lang.Object> parameters)
CollectionDatasourceThese parameters may be referenced in the query text by "custom$" prefix.
public java.util.Map<java.lang.String,java.lang.Object> getLastRefreshParameters()
CollectionDatasourceCollectionDatasource.refresh(Map) method or empty map if there was no refresh with parametersgetLastRefreshParameters in interface CollectionDatasource<T extends Entity<K>,K>public boolean getRefreshOnComponentValueChange()
CollectionDatasourcecomponent$ parameter)getRefreshOnComponentValueChange in interface CollectionDatasource<T extends Entity<K>,K>public void setRefreshOnComponentValueChange(boolean refresh)
CollectionDatasourcecomponent$ parameter)setRefreshOnComponentValueChange in interface CollectionDatasource<T extends Entity<K>,K>public void addCollectionChangeListener(CollectionDatasource.CollectionChangeListener<T,K> listener)
addCollectionChangeListener in interface CollectionDatasource<T extends Entity<K>,K>public void removeCollectionChangeListener(CollectionDatasource.CollectionChangeListener<T,K> listener)
removeCollectionChangeListener in interface CollectionDatasource<T extends Entity<K>,K>public void addListener(DatasourceListener<T> listener)
DatasourceaddListener in interface Datasource<T extends Entity<K>>addListener in class AbstractDatasource<T extends Entity<K>>public void removeListener(DatasourceListener<T> listener)
DatasourceremoveListener in interface Datasource<T extends Entity<K>>removeListener in class AbstractDatasource<T extends Entity<K>>public void committed(java.util.Set<Entity> entities)
DatasourceImplementationcommitted in interface DatasourceImplementation<T extends Entity<K>>committed in class PropertyDatasourceImpl<T extends Entity<K>>entities - committed entities returned from middlewarepublic void suspendListeners()
CollectionDatasourcecollectionChanged method of registered CollectionDatasource.CollectionChangeListeners.
It makes sense in case of massive updates of the datasource by CollectionDatasource.addItem(com.haulmont.cuba.core.entity.Entity)
or similar methods.
After that, collectionChanged will be invoked once on CollectionDatasource.resumeListeners() call.
ds.suspendListeners();
try {
for (Object item : items) {
ds.addItem(item);
}
} finally {
ds.resumeListeners();
}
suspendListeners in interface CollectionDatasource<T extends Entity<K>,K>public void resumeListeners()
CollectionDatasourcecollectionChanged method of registered CollectionDatasource.CollectionChangeListeners
after calling CollectionDatasource.suspendListeners().
It will call collectionChanged just once, doesn't matter how many updates were issued
since the previous CollectionDatasource.suspendListeners() call.
finally section.resumeListeners in interface CollectionDatasource<T extends Entity<K>,K>public boolean isSoftDeletion()
isSoftDeletion in interface CollectionDatasource<T extends Entity<K>,K>public void setSoftDeletion(boolean softDeletion)
CollectionDatasourcesetSoftDeletion in interface CollectionDatasource<T extends Entity<K>,K>public boolean isCacheable()
isCacheable in interface CollectionDatasource<T extends Entity<K>,K>public void setCacheable(boolean cacheable)
CollectionDatasourcesetCacheable in interface CollectionDatasource<T extends Entity<K>,K>public void sort(CollectionDatasource.Sortable.SortInfo[] sortInfos)
CollectionDatasource.Sortablepublic void resetSortOrder()
CollectionDatasource.SortableresetSortOrder in interface CollectionDatasource.Sortable<T extends Entity<K>,K>public int indexOfId(K itemId)
public K getIdByIndex(int index)
getIdByIndex in interface CollectionDatasource.Indexed<T extends Entity<K>,K>public java.util.List<K> getItemIds(int startIndex, int numberOfItems)
getItemIds in interface CollectionDatasource.Indexed<T extends Entity<K>,K>public K firstItemId()
firstItemId in interface CollectionDatasource.Ordered<T extends Entity<K>,K>public K lastItemId()
lastItemId in interface CollectionDatasource.Ordered<T extends Entity<K>,K>public K nextItemId(K itemId)
nextItemId in interface CollectionDatasource.Ordered<T extends Entity<K>,K>public K prevItemId(K itemId)
prevItemId in interface CollectionDatasource.Ordered<T extends Entity<K>,K>public boolean isFirstId(K itemId)
public boolean isLastId(K itemId)
public java.util.Map<AggregationInfo,java.lang.String> aggregate(AggregationInfo[] aggregationInfos, java.util.Collection<K> itemIds)
CollectionDatasource.Aggregatable