@Override public List<E> getMutableItems() { return new ObservableList<>(collection, idMap, (changeType, changes) -> { buildIdMap(); clearItemIfNotExists(); fireCollectionChanged(changeType, changes); }); }
@Override public List<E> getMutableItems() { return new ObservableList<>(collection, idMap, (changeType, changes) -> { buildIdMap(); clearItemIfNotExists(); updateMaster(); fireCollectionChanged(changeType, changes); }); }
protected ObservableSet<Entity> createObservableSet(Set<Entity> set, Entity notifiedEntity) { return new ObservableSet<>(set, (changeType, changes) -> modified(notifiedEntity)); }
@Override public List<KeyValueEntity> getMutableItems() { return new ObservableList<>(collection, idMap, (changeType, changes) -> { buildIdMap(); clearItemIfNotExists(); if (changeType == CollectionChangeType.ADD_ITEMS || changeType == CollectionChangeType.SET_ITEM) { for (KeyValueEntity entity : changes) { updateEntityMetadata(entity); } } else if (changeType == CollectionChangeType.REFRESH) { for (KeyValueEntity entity : collection) { updateEntityMetadata(entity); } } fireCollectionChanged(changeType, changes); }); }
protected List<Entity> createObservableList(List<Entity> list, Entity notifiedEntity) { return new ObservableList<>(list, (changeType, changes) -> modified(notifiedEntity)); }
@Override public void setItems(@Nullable Collection<KeyValueEntity> entities) { if (entities != null) { for (KeyValueEntity entity : entities) { updateEntityMetadata(entity); } } super.setItems(entities); }
@Override public void setItem(@Nullable KeyValueEntity item) { if (item != null) { updateEntityMetadata(item); } super.setItem(item); }
/** * Creates {@code InstanceLoader}. */ public <E extends Entity> InstanceLoader<E> createInstanceLoader() { return new InstanceLoaderImpl<>(applicationContext); }
/** * Creates {@code KeyValueInstanceLoader}. */ public KeyValueInstanceLoader createKeyValueInstanceLoader() { return new KeyValueInstanceLoaderImpl(applicationContext); } }
/** * Creates {@code CollectionLoader}. */ public <E extends Entity> CollectionLoader<E> createCollectionLoader() { return new CollectionLoaderImpl<>(applicationContext); }
/** * Creates {@code KeyValueCollectionContainer}. */ public KeyValueCollectionContainer createKeyValueCollectionContainer() { return new KeyValueCollectionContainerImpl(); }
/** * Creates {@code KeyValueCollectionLoader}. */ public KeyValueCollectionLoader createKeyValueCollectionLoader() { return new KeyValueCollectionLoaderImpl(applicationContext); }
protected void detachListener(Collection<E> entities) { for (E entity : entities) { detachListener(entity); } }
/** * Creates {@code DataContext}. */ public DataContext createDataContext() { return new DataContextImpl(applicationContext); }
/** * Creates {@code KeyValueContainer}. */ public KeyValueContainer createKeyValueContainer() { return new KeyValueContainerImpl(); }
protected void attachListener(Collection<E> entities) { for (E entity : entities) { attachListener(entity); } }
@Override public KeyValueMetaClass getEntityMetaClass() { return (KeyValueMetaClass) super.getEntityMetaClass(); }
@Override public CollectionPropertyContainer getContainer() { return (CollectionPropertyContainer) super.getContainer(); }
@Override public boolean containsItem(Object entityId) { return getItemIndex(entityId) > -1; }
public CollectionPropertyContainerImpl(MetaClass metaClass, InstanceContainer master, String property) { super(metaClass); this.master = master; this.property = property; sorter = new CollectionPropertyContainerSorter(this); }