make/tools/classanalyzer/src/com/sun/classanalyzer/ResourceFile.java

Print this page

        

@@ -74,10 +74,14 @@
 
     long getFileSize() {
         return filesize;
     }
 
+    boolean isService() {
+        return pathname.startsWith("META-INF/services") ? true : false;
+    }
+
     @Override
     public String toString() {
         return name;
     }
 

@@ -103,22 +107,28 @@
         }
 
         return true;
     }
 
-    static ResourceFile addResource(String fname, InputStream in, long size) {
+    static ResourceFile getResource(String fname, InputStream in, long size) {
         ResourceFile res;
         fname = fname.replace(File.separatorChar, '/');
         if (fname.startsWith("META-INF/services")) {
             res = new ServiceProviderConfigFile(fname, in, size);
         } else {
             res = new ResourceFile(fname, size);
         }
+        return res;
+    }
+
+    static ResourceFile addResource(String fname, InputStream in, long size) {
+        ResourceFile res = getResource(fname, in, size);
         resources.add(res);
         return res;
     }
 
+
     static Set<ResourceFile> getAllResources() {
         return Collections.unmodifiableSet(resources);
     }
 
     static class ServiceProviderConfigFile extends ResourceFile {

@@ -133,10 +143,15 @@
             super(fname, size);
             readServiceConfiguration(in, providers);
             this.service = name.substring("META-INF/services".length() + 1, name.length());
         }
 
+        @Override
+        boolean isService() {
+            return true;
+        }
+
         @Override
         String getName() {
             if (providers.isEmpty()) {
                 return service;
             } else {