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}