diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/util/Arrays.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/util/Arrays.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/util/Arrays.java b/bcprov/src/main/java/org/bouncycastle/util/Arrays.java index 64ce17c..3c0646a 100644 --- a/bcprov/src/main/java/org/bouncycastle/util/Arrays.java +++ b/bcprov/src/main/java/org/bouncycastle/util/Arrays.java @@ -1,6 +1,7 @@ package org.bouncycastle.util; import java.math.BigInteger; +import java.util.Iterator; /** * General array utilities. @@ -968,4 +969,43 @@ public final class Arrays return result; } + + /** + * Iterator backed by a specific array. + */ + public static class Iterator<T> + implements java.util.Iterator<T> + { + private final T[] dataArray; + + private int position = 0; + + /** + * Base constructor. + * <p> + * Note: the array is not cloned, changes to it will affect the values returned by next(). + * </p> + * + * @param dataArray array backing the iterator. + */ + public Iterator(T[] dataArray) + { + this.dataArray = dataArray; + } + + public boolean hasNext() + { + return position < dataArray.length; + } + + public T next() + { + return dataArray[position++]; + } + + public void remove() + { + throw new UnsupportedOperationException("Cannot remove element from an Array."); + } + } } |