/*******************************************************************************
* Copyright (c) 2007 IBM Corporation.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package com.ibm.wala.util.collections;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class Iterator2List<T> extends Iterator2Collection<T> implements List<T> {
private final List<T> delegate;
public Iterator2List(Iterator<? extends T> i, List<T> delegate) {
this.delegate = delegate;
while (i.hasNext()) {
delegate.add(i.next());
}
}
@Override
public void add(int index, T element) {
delegate.add(index, element);
}
@Override
public boolean addAll(int index, Collection<? extends T> c) {
return delegate.addAll(index, c);
}
@Override
public T get(int index) {
return delegate.get(index);
}
@Override
public int indexOf(Object o) {
return delegate.indexOf(o);
}
@Override
public int lastIndexOf(Object o) {
return delegate.lastIndexOf(o);
}
@Override
public ListIterator<T> listIterator() {
return delegate.listIterator();
}
@Override
public ListIterator<T> listIterator(int index) {
return delegate.listIterator(index);
}
@Override
public T remove(int index) {
return delegate.remove(index);
}
@Override
public T set(int index, T element) {
return delegate.set(index, element);
}
@Override
public List<T> subList(int fromIndex, int toIndex) {
return delegate.subList(fromIndex, toIndex);
}
@Override
protected Collection<T> getDelegate() {
return delegate;
}
}