1 17 package org.apache.geronimo.kernel.classloader; 18 19 import java.util.Enumeration ; 20 import java.util.LinkedList ; 21 import java.util.List ; 22 import java.util.NoSuchElementException ; 23 24 27 public final class UnionEnumeration implements Enumeration { 28 private final LinkedList enumerations = new LinkedList (); 29 30 public UnionEnumeration(List enumerations) { 31 this.enumerations.addAll(enumerations); 32 } 33 34 public UnionEnumeration(Enumeration first, Enumeration second) { 35 if (first == null) throw new NullPointerException ("first is null"); 36 if (second == null) throw new NullPointerException ("second is null"); 37 38 enumerations.add(first); 39 enumerations.add(second); 40 } 41 42 public boolean hasMoreElements() { 43 while (!enumerations.isEmpty()) { 44 Enumeration enumeration = (Enumeration ) enumerations.getFirst(); 45 if (enumeration.hasMoreElements()) { 46 return true; 47 } 48 enumerations.removeFirst(); 49 } 50 return false; 51 } 52 53 public Object nextElement() { 54 while (!enumerations.isEmpty()) { 55 Enumeration enumeration = (Enumeration ) enumerations.getFirst(); 56 if (enumeration.hasMoreElements()) { 57 return enumeration.nextElement(); 58 } 59 enumerations.removeFirst(); 60 } 61 throw new NoSuchElementException (); 62 } 63 } 64 | Popular Tags |