package kcauldron.wrapper; import java.util.Collection; import java.util.List; import java.util.ListIterator; import java.util.Queue; public class QueueToList extends CollectionWrapper> implements List { private final Queue mQueue; private final LinkedHelper mHelper; public QueueToList(Queue queue) { super(queue); mQueue = queue; mHelper = new LinkedHelper(mQueue); } @Override public void add(int index, T element) { throw new UnsupportedOperationException(); } @Override public boolean addAll(int index, Collection c) { throw new UnsupportedOperationException(); } @Override public T get(int index) { return mHelper.get(index); } @Override public int indexOf(Object o) { return mHelper.indexOf(o); } @Override public int lastIndexOf(Object o) { return mHelper.lastIndexOf(o); } @Override public ListIterator listIterator() { return mHelper.listIterator(); } @Override public ListIterator listIterator(int index) { return mHelper.listIterator(index); } @Override public T remove(int index) { T object = mHelper.get(index); return mQueue.remove(object) ? object : null; } @Override public T set(int index, T element) { throw new UnsupportedOperationException(); } @Override public List subList(int fromIndex, int toIndex) { throw new UnsupportedOperationException(); } }