package dtool.util;
import static melnorme.utilbox.core.Assert.AssertNamespace.assertFail;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* Sentinal class for ArrayList.
* Allows creating special object instances that cannot be used directly,
* except for their identity, which can be used to mark special values.
*/
@SuppressWarnings("serial")
public class SentinelArrayList<E> extends ArrayList<E> {
public SentinelArrayList() {
super(0);
}
@Override
public final int size() {
throw assertFail();
}
@Override
public final boolean isEmpty() {
throw assertFail();
}
@Override
public final E get(int index) {
throw assertFail();
}
@Override
public final boolean contains(Object o) {
throw assertFail();
}
@Override
public final boolean containsAll(Collection<?> c) {
throw assertFail();
}
@Override
public final Iterator<E> iterator() {
throw assertFail();
}
@Override
public final boolean add(E e) {
throw assertFail();
}
@Override
public final boolean remove(Object o) {
throw assertFail();
}
@Override
public final boolean addAll(Collection<? extends E> c) {
throw assertFail();
}
@Override
public final boolean removeAll(Collection<?> c) {
throw assertFail();
}
@Override
public final boolean retainAll(Collection<?> c) {
throw assertFail();
}
@Override
public final void clear() {
assertFail();
}
@Override
public final Object[] toArray() {
throw assertFail();
}
@Override
public final <T> T[] toArray(T[] a) {
throw assertFail();
}
}