Home | History | Annotate | Download | only in internal
      1 package org.hamcrest.internal;
      2 
      3 import java.lang.reflect.Array;
      4 import java.util.Iterator;
      5 
      6 public class ArrayIterator implements Iterator<Object> {
      7     private final Object array;
      8     private int currentIndex = 0;
      9 
     10     public ArrayIterator(Object array) {
     11         if (!array.getClass().isArray()) {
     12             throw new IllegalArgumentException("not an array");
     13         }
     14         this.array = array;
     15     }
     16 
     17     @Override
     18     public boolean hasNext() {
     19         return currentIndex < Array.getLength(array);
     20     }
     21 
     22     @Override
     23     public Object next() {
     24         return Array.get(array, currentIndex++);
     25     }
     26 
     27     @Override
     28     public void remove() {
     29         throw new UnsupportedOperationException("cannot remove items from an array");
     30     }
     31 }
     32