diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/JarFile.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/JarFile.java index 26d62978eb..ecdb31ef6f 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/JarFile.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/JarFile.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -191,20 +191,7 @@ public class JarFile extends java.util.jar.JarFile { @Override public Enumeration entries() { - final Iterator iterator = this.entries.iterator(); - return new Enumeration() { - - @Override - public boolean hasMoreElements() { - return iterator.hasNext(); - } - - @Override - public java.util.jar.JarEntry nextElement() { - return iterator.next(); - } - - }; + return new JarEntryEnumeration(this.entries.iterator()); } public JarEntry getJarEntry(CharSequence name) { @@ -421,4 +408,27 @@ public class JarFile extends java.util.jar.JarFile { } + /** + * An {@link Enumeration} on {@linkplain java.util.jar.JarEntry jar entries}. + */ + private static class JarEntryEnumeration implements Enumeration { + + private final Iterator iterator; + + JarEntryEnumeration(Iterator iterator) { + this.iterator = iterator; + } + + @Override + public boolean hasMoreElements() { + return this.iterator.hasNext(); + } + + @Override + public java.util.jar.JarEntry nextElement() { + return this.iterator.next(); + } + + } + }