package org.osgl.util; import java.util.Collection; import java.util.EnumSet; /** * Created with IntelliJ IDEA. * User: luog * Date: 6/11/13 * Time: 8:29 PM * To change this template use File | Settings | File Templates. */ abstract class ReadOnlyListBase<T> extends ListBase<T> implements C.List<T> { protected abstract EnumSet<C.Feature> internalInitFeatures(); @Override protected final EnumSet<C.Feature> initFeatures() { EnumSet<C.Feature> fs = internalInitFeatures(); fs.add(C.Feature.READONLY); return fs; } @Override public boolean addAll(Collection<? extends T> c) { throw new UnsupportedOperationException(); } @Override public boolean removeAll(Collection<?> c) { throw new UnsupportedOperationException(); } @Override public boolean retainAll(Collection<?> c) { throw new UnsupportedOperationException(); } @Override public T remove(int index) { throw new UnsupportedOperationException(); } @Override public void add(int index, T element) { throw new UnsupportedOperationException(); } @Override public T set(int index, T element) { throw new UnsupportedOperationException(); } @Override public void clear() { throw new UnsupportedOperationException(); } @Override public boolean add(T t) { throw new UnsupportedOperationException(); } @Override public boolean remove(Object o) { throw new UnsupportedOperationException(); } }