package name.admitriev.jhelper.ui;
import javax.swing.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* ListModel that allows adding an entire {@code Collection}
*/
public class ParseListModel<T> extends AbstractListModel<T> {
private List<T> list = new ArrayList<>();
@Override
public int getSize() {
return list.size();
}
@Override
public T getElementAt(int index) {
return list.get(index);
}
public void removeAll() {
int size = getSize();
if (size == 0) {
return;
}
list.clear();
fireIntervalRemoved(this, 0, size - 1);
}
public void addAll(Collection<T> collection) {
if (collection.isEmpty()) {
return;
}
int size = getSize();
list.addAll(collection);
fireIntervalAdded(this, size, getSize() - 1);
}
}