package org.hamcrest.internal;
import java.lang.reflect.Array;
import java.util.Iterator;
public class ArrayIterator implements Iterator<Object> {
private final Object array;
private int currentIndex = 0;
public ArrayIterator(Object array) {
if (!array.getClass().isArray()) {
throw new IllegalArgumentException("not an array");
}
this.array = array;
}
@Override
public boolean hasNext() {
return currentIndex < Array.getLength(array);
}
@Override
public Object next() {
return Array.get(array, currentIndex++);
}
@Override
public void remove() {
throw new UnsupportedOperationException("cannot remove items from an array");
}
}