001package org.jsoup.helper; 002 003import java.util.ArrayList; 004import java.util.Collection; 005 006/** 007 * Implementation of ArrayList that watches out for changes to the contents. 008 @deprecated this class is no longer used and will be removed in jsoup 1.21.1. 009 */ 010@Deprecated public abstract class ChangeNotifyingArrayList<E> extends ArrayList<E> { 011 public ChangeNotifyingArrayList(int initialCapacity) { 012 super(initialCapacity); 013 } 014 015 public abstract void onContentsChanged(); 016 017 @Override 018 public E set(int index, E element) { 019 onContentsChanged(); 020 return super.set(index, element); 021 } 022 023 @Override 024 public boolean add(E e) { 025 onContentsChanged(); 026 return super.add(e); 027 } 028 029 @Override 030 public void add(int index, E element) { 031 onContentsChanged(); 032 super.add(index, element); 033 } 034 035 @Override 036 public E remove(int index) { 037 onContentsChanged(); 038 return super.remove(index); 039 } 040 041 @Override 042 public boolean remove(Object o) { 043 onContentsChanged(); 044 return super.remove(o); 045 } 046 047 @Override 048 public void clear() { 049 onContentsChanged(); 050 super.clear(); 051 } 052 053 @Override 054 public boolean addAll(Collection<? extends E> c) { 055 onContentsChanged(); 056 return super.addAll(c); 057 } 058 059 @Override 060 public boolean addAll(int index, Collection<? extends E> c) { 061 onContentsChanged(); 062 return super.addAll(index, c); 063 } 064 065 @Override 066 protected void removeRange(int fromIndex, int toIndex) { 067 onContentsChanged(); 068 super.removeRange(fromIndex, toIndex); 069 } 070 071 @Override 072 public boolean removeAll(Collection<?> c) { 073 onContentsChanged(); 074 return super.removeAll(c); 075 } 076 077 @Override 078 public boolean retainAll(Collection<?> c) { 079 onContentsChanged(); 080 return super.retainAll(c); 081 } 082 083}