package nl.siegmann.epublib.util; import java.util.Enumeration; import java.util.Iterator; import java.util.List; public class CollectionUtil { /** * Wraps an Enumeration around an Iterator * @author paul.siegmann * * @param <T> */ private static class IteratorEnumerationAdapter<T> implements Enumeration<T> { private Iterator<T> iterator; public IteratorEnumerationAdapter(Iterator<T> iter) { this.iterator = iter; } @Override public boolean hasMoreElements() { return iterator.hasNext(); } @Override public T nextElement() { return iterator.next(); } } /** * Creates an Enumeration out of the given Iterator. * @param <T> * @param it * @return */ public static <T> Enumeration<T> createEnumerationFromIterator(Iterator<T> it) { return new IteratorEnumerationAdapter<T>(it); } /** * Returns the first element of the list, null if the list is null or empty. * * @param <T> * @param list * @return */ public static <T> T first(List<T> list) { if(list == null || list.isEmpty()) { return null; } return list.get(0); } }