package com.isti.traceview.common;
import java.util.ArrayList;
import java.util.Collection;
/**
* List which can contain only unique elements
*
* @author Max Kokoulin
*/
public class UniqueList<E> extends ArrayList<E> {
private static final long serialVersionUID = 1L;
public boolean add(E e) {
if (!super.contains(e)) {
return super.add(e);
} else {
return false;
}
}
public void add(int index, E element) {
if (!super.contains(element)) {
super.add(index, element);
}
}
public boolean addAll(Collection<? extends E> c) {
for (E o: c) {
if (super.contains(o))
return false;
}
return super.addAll(c);
}
public boolean addAll(int index, Collection<? extends E> c) {
for (E o: c) {
if (super.contains(o))
return false;
}
return super.addAll(index, c);
}
}