Author: markt
Date: Tue Nov 20 14:59:07 2018
New Revision: 1847015
URL: http://svn.apache.org/viewvc?rev=1847015&view=rev
Log:
Add an exists(String) method to Tomcat's JAR interface
Modified:
tomcat/trunk/java/org/apache/tomcat/Jar.java
tomcat/trunk/java/org/apache/tomcat/util/scan/AbstractInputStreamJar.java
tomcat/trunk/java/org/apache/tomcat/util/scan/JarFileUrlJar.java
Modified: tomcat/trunk/java/org/apache/tomcat/Jar.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/Jar.java?rev=1847015&r1=1847014&r2=1847015&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/Jar.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/Jar.java Tue Nov 20 14:59:07 2018
@@ -65,6 +65,18 @@ public interface Jar extends AutoCloseab
long getLastModified(String name) throws IOException;
/**
+ * Determine if the given resource in present in the JAR.
+ *
+ * @param name Entry to look for
+ *
+ * @return {@code true} if the entry is present in the JAR, otherwise
+ * {@code false}
+ *
+ * @throws IOException if an I/O error occurs while processing the JAR file
+ */
+ boolean exists(String name) throws IOException;
+
+ /**
* Close any resources associated with this JAR.
*/
@Override
Modified:
tomcat/trunk/java/org/apache/tomcat/util/scan/AbstractInputStreamJar.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/scan/AbstractInputStreamJar.java?rev=1847015&r1=1847014&r2=1847015&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/scan/AbstractInputStreamJar.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/scan/AbstractInputStreamJar.java
Tue Nov 20 14:59:07 2018
@@ -130,6 +130,13 @@ public abstract class AbstractInputStrea
@Override
+ public boolean exists(String name) throws IOException {
+ gotoEntry(name);
+ return entry != null;
+ }
+
+
+ @Override
public String getURL(String entry) {
StringBuilder result = new StringBuilder("jar:");
result.append(getJarFileURL().toExternalForm());
Modified: tomcat/trunk/java/org/apache/tomcat/util/scan/JarFileUrlJar.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/scan/JarFileUrlJar.java?rev=1847015&r1=1847014&r2=1847015&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/scan/JarFileUrlJar.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/scan/JarFileUrlJar.java Tue Nov 20
14:59:07 2018
@@ -98,6 +98,13 @@ public class JarFileUrlJar implements Ja
}
@Override
+ public boolean exists(String name) throws IOException {
+ // JarFile#getEntry() is multi-release aware
+ ZipEntry entry = jarFile.getEntry(name);
+ return entry != null;
+ }
+
+ @Override
public String getURL(String entry) {
StringBuilder result = new StringBuilder("jar:");
result.append(getJarFileURL().toExternalForm());
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]