package com.revolsys.collection.iterator;
import java.util.Enumeration;
import java.util.Iterator;
public class IteratorEnumeration<T> implements Enumeration<T> {
@SuppressWarnings("unchecked")
public static <V> Enumeration<V> newEnumeration(final Iterable<V> iterable) {
if (iterable instanceof Enumeration) {
return (Enumeration<V>)iterable;
} else {
return newEnumeration(iterable.iterator());
}
}
@SuppressWarnings("unchecked")
public static <V> Enumeration<V> newEnumeration(final Iterator<V> iterator) {
if (iterator instanceof Enumeration) {
return (Enumeration<V>)iterator;
} else {
return new IteratorEnumeration<>(iterator);
}
}
private final Iterator<T> iterator;
public IteratorEnumeration(final Iterator<T> iterator) {
this.iterator = iterator;
}
@Override
public boolean hasMoreElements() {
return this.iterator.hasNext();
}
@Override
public T nextElement() {
return this.iterator.next();
}
}