Class SimpleJarEntryScanner


  • public class SimpleJarEntryScanner
    extends java.lang.Object
    A simple scanner for JarEntry that provides methods to scan and filter entries within a JAR file.

    This class allows recursive or non-recursive scanning of JAR entries, optionally applying a filter to match specific entries. It returns an immutable set of matching jar entries.

    Example Usage

    
     // Example 1: Scan all entries recursively from a JAR URL
     SimpleJarEntryScanner scanner = new SimpleJarEntryScanner();
     URL jarUrl = new URL("jar:file:/path/to/your.jar!/");
     Set<JarEntry> entries = scanner.scan(jarUrl, true);
     
    
     // Example 2: Scan with a filter to find only .class files
     JarEntryFilter filter = entry -> entry.getName().endsWith(".class");
     Set<JarEntry> classEntries = scanner.scan(jarUrl, true, filter);
     
    
     // Example 3: Scan a specific directory inside a JarFile non-recursively
     JarFile jarFile = new JarFile("/path/to/your.jar");
     Set<JarEntry> entries = scanner.scan(jarFile, false);
     
    Since:
    1.0.0
    Author:
    Mercy
    See Also:
    JarEntry, JarFile, JarEntryFilter
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Set<java.util.jar.JarEntry> scan​(java.net.URL jarURL, boolean recursive)  
      java.util.Set<java.util.jar.JarEntry> scan​(java.net.URL jarURL, boolean recursive, JarEntryFilter jarEntryFilter)  
      java.util.Set<java.util.jar.JarEntry> scan​(java.util.jar.JarFile jarFile, boolean recursive)  
      java.util.Set<java.util.jar.JarEntry> scan​(java.util.jar.JarFile jarFile, boolean recursive, JarEntryFilter jarEntryFilter)  
      protected java.util.Set<java.util.jar.JarEntry> scan​(java.util.jar.JarFile jarFile, java.lang.String relativePath, boolean recursive, JarEntryFilter jarEntryFilter)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SimpleJarEntryScanner

        public SimpleJarEntryScanner()
    • Method Detail

      • scan

        @Nonnull
        @Immutable
        public java.util.Set<java.util.jar.JarEntry> scan​(java.net.URL jarURL,
                                                          boolean recursive)
                                                   throws java.lang.NullPointerException,
                                                          java.lang.IllegalArgumentException,
                                                          java.io.IOException
        Parameters:
        jarURL - URL of JarFile or JarEntry
        recursive - recursive
        Returns:
        Read-only Set
        Throws:
        java.lang.NullPointerException - If argument null
        java.lang.IllegalArgumentException -
        java.io.IOException -
      • scan

        public java.util.Set<java.util.jar.JarEntry> scan​(java.util.jar.JarFile jarFile,
                                                          boolean recursive)
                                                   throws java.lang.NullPointerException,
                                                          java.lang.IllegalArgumentException,
                                                          java.io.IOException
        Parameters:
        jarFile -
        recursive -
        Returns:
        Throws:
        java.lang.NullPointerException
        java.lang.IllegalArgumentException
        java.io.IOException
      • scan

        @Nonnull
        @Immutable
        public java.util.Set<java.util.jar.JarEntry> scan​(java.util.jar.JarFile jarFile,
                                                          boolean recursive,
                                                          JarEntryFilter jarEntryFilter)
                                                   throws java.lang.NullPointerException,
                                                          java.lang.IllegalArgumentException,
                                                          java.io.IOException
        Parameters:
        jarFile -
        recursive -
        jarEntryFilter -
        Returns:
        Throws:
        java.lang.NullPointerException
        java.lang.IllegalArgumentException
        java.io.IOException
      • scan

        @Nonnull
        @Immutable
        protected java.util.Set<java.util.jar.JarEntry> scan​(java.util.jar.JarFile jarFile,
                                                             java.lang.String relativePath,
                                                             boolean recursive,
                                                             JarEntryFilter jarEntryFilter)
                                                      throws java.lang.NullPointerException,
                                                             java.lang.IllegalArgumentException,
                                                             java.io.IOException
        Throws:
        java.lang.NullPointerException
        java.lang.IllegalArgumentException
        java.io.IOException