--- a/jdk/src/java.base/share/classes/java/lang/ClassLoader.java Tue Dec 22 21:30:48 2015 +0000
+++ b/jdk/src/java.base/share/classes/java/lang/ClassLoader.java Tue Dec 22 21:32:29 2015 +0000
@@ -45,11 +45,11 @@
import java.util.Set;
import java.util.Stack;
import java.util.Map;
+import java.util.NoSuchElementException;
import java.util.Vector;
import java.util.Hashtable;
import java.util.WeakHashMap;
import java.util.concurrent.ConcurrentHashMap;
-import sun.misc.CompoundEnumeration;
import sun.misc.Resource;
import sun.misc.URLClassPath;
import sun.reflect.CallerSensitive;
@@ -2206,3 +2206,36 @@
return sys;
}
}
+
+/*
+ * A utility class that will enumerate over an array of enumerations.
+ */
+final class CompoundEnumeration<E> implements Enumeration<E> {
+ private final Enumeration<E>[] enums;
+ private int index;
+
+ public CompoundEnumeration(Enumeration<E>[] enums) {
+ this.enums = enums;
+ }
+
+ private boolean next() {
+ while (index < enums.length) {
+ if (enums[index] != null && enums[index].hasMoreElements()) {
+ return true;
+ }
+ index++;
+ }
+ return false;
+ }
+
+ public boolean hasMoreElements() {
+ return next();
+ }
+
+ public E nextElement() {
+ if (!next()) {
+ throw new NoSuchElementException();
+ }
+ return enums[index].nextElement();
+ }
+}