package org.drugis.common.beans;
import java.util.AbstractList;
import javax.swing.event.ListDataListener;
import org.drugis.common.event.ListDataListenerManager;
import com.jgoodies.binding.list.ObservableList;
public abstract class AbstractObservableList<E> extends AbstractList<E> implements ObservableList<E> {
protected final ListDataListenerManager d_manager = new ListDataListenerManager(this);
public abstract E get(int index);
public abstract int size();
public Object getElementAt(int index) {
return get(index);
}
public int getSize() {
return size();
}
public void addListDataListener(ListDataListener l) {
d_manager.addListDataListener(l);
}
public void removeListDataListener(ListDataListener l) {
d_manager.removeListDataListener(l);
}
protected void fireIntervalAdded(int index0, int index1) {
d_manager.fireIntervalAdded(index0, index1);
}
protected void fireIntervalRemoved(int index0, int index1) {
d_manager.fireIntervalRemoved(index0, index1);
}
protected void fireContentsChanged(int index0, int index1) {
d_manager.fireContentsChanged(index0, index1);
}
}