private void removeElementChangeHandlers() { List<BindableProxyAgent<?>> agents = new ArrayList<BindableProxyAgent<?>>(elementChangeHandlers.keySet()); for (BindableProxyAgent<?> agent : agents) { removeElementChangeHandler(agent); } }
private void removeElementChangeHandlers() { List<BindableProxyAgent<?>> agents = new ArrayList<BindableProxyAgent<?>>(elementChangeHandlers.keySet()); for (BindableProxyAgent<?> agent : agents) { removeElementChangeHandler(agent); } }
@Override public M remove(int index) { final List<M> oldValue = new ArrayList<M>(list); M m = list.remove(index); for (BindableListChangeHandler<M> handler : handlers) { handler.onItemRemovedAt(oldValue, index); } removeElementChangeHandler(m); return m; }
@Override public M remove(int index) { final List<M> oldValue = new ArrayList<M>(list); M m = list.remove(index); for (BindableListChangeHandler<M> handler : handlers) { handler.onItemRemovedAt(oldValue, index); } removeElementChangeHandler(m); return m; }
@Override public M set(int index, M element) { final List<M> oldValue = new ArrayList<M>(list); element = (M) convertToProxy(element); M m = list.set(index, element); for (BindableListChangeHandler<M> handler : handlers) { handler.onItemChanged(oldValue, index, element); } removeElementChangeHandler(m); return m; }
@Override public M set(int index, M element) { final List<M> oldValue = new ArrayList<M>(list); element = (M) convertToProxy(element); M m = list.set(index, element); for (BindableListChangeHandler<M> handler : handlers) { handler.onItemChanged(oldValue, index, element); } removeElementChangeHandler(m); return m; }
@Override public boolean remove(Object o) { final List<M> oldValue = new ArrayList<M>(list); o = convertToProxy(o); int index = list.indexOf(o); boolean b = list.remove(o); if (b) { for (BindableListChangeHandler<M> handler : handlers) { handler.onItemRemovedAt(oldValue, index); } removeElementChangeHandler(oldValue.get(index)); } return b; }
@Override public boolean remove(Object o) { final List<M> oldValue = new ArrayList<M>(list); o = convertToProxy(o); int index = list.indexOf(o); boolean b = list.remove(o); if (b) { for (BindableListChangeHandler<M> handler : handlers) { handler.onItemRemovedAt(oldValue, index); } removeElementChangeHandler(oldValue.get(index)); } return b; }
private void removeElementChangeHandler(Object element) { if (!BindableProxyFactory.isBindableType(element)) { return; } final BindableProxyAgent<?> agent= ((BindableProxy<?>) element).getBindableProxyAgent(); removeElementChangeHandler(agent); }
@Override public boolean removeAll(Collection<?> c) { final List<M> oldValue = new ArrayList<M>(list); final List<Integer> indexes = new ArrayList<Integer>(); for (Object m : c) { m = convertToProxy(m); Integer index = list.indexOf(m); if (!indexes.contains(index)) { indexes.add(index); } } Collections.sort(indexes, Collections.reverseOrder()); final boolean b = list.removeAll(c); if (b) { for (BindableListChangeHandler<M> handler : handlers) { handler.onItemsRemovedAt(oldValue, indexes); } for (final Object m : c) { removeElementChangeHandler(convertToProxy(m)); } } return b; }
private void removeElementChangeHandler(Object element) { if (!BindableProxyFactory.isBindableType(element)) { return; } final BindableProxyAgent<?> agent= ((BindableProxy<?>) element).getBindableProxyAgent(); removeElementChangeHandler(agent); }
@Override public boolean removeAll(Collection<?> c) { final List<M> oldValue = new ArrayList<M>(list); final List<Integer> indexes = new ArrayList<Integer>(); for (Object m : c) { m = convertToProxy(m); Integer index = list.indexOf(m); if (!indexes.contains(index)) { indexes.add(index); } } Collections.sort(indexes, Collections.reverseOrder()); final boolean b = list.removeAll(c); if (b) { for (BindableListChangeHandler<M> handler : handlers) { handler.onItemsRemovedAt(oldValue, indexes); } for (final Object m : c) { removeElementChangeHandler(convertToProxy(m)); } } return b; }