Package io.microsphere.io.scanner
Class SimpleJarEntryScanner
- java.lang.Object
-
- io.microsphere.io.scanner.SimpleJarEntryScanner
-
public class SimpleJarEntryScanner extends java.lang.Object
A simple scanner forJarEntry
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
-
-
Field Summary
Fields Modifier and Type Field Description static SimpleJarEntryScanner
INSTANCE
Singleton
-
Constructor Summary
Constructors Constructor Description SimpleJarEntryScanner()
-
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)
-
-
-
Field Detail
-
INSTANCE
public static final SimpleJarEntryScanner INSTANCE
Singleton
-
-
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
ofJarFile
orJarEntry
recursive
- recursive- Returns:
- Read-only
Set
- Throws:
java.lang.NullPointerException
- If argumentnull
java.lang.IllegalArgumentException
-java.io.IOException
-
-
scan
@Nonnull @Immutable public java.util.Set<java.util.jar.JarEntry> scan(java.net.URL jarURL, boolean recursive, JarEntryFilter jarEntryFilter) throws java.lang.NullPointerException, java.lang.IllegalArgumentException, java.io.IOException
- Parameters:
jarURL
-URL
ofJarFile
orJarEntry
recursive
- recursivejarEntryFilter
-JarEntryFilter
- Returns:
- Read-only
Set
- Throws:
java.lang.NullPointerException
- If argumentnull
java.lang.IllegalArgumentException
-JarUtils.resolveJarAbsolutePath(URL)
java.io.IOException
-JarUtils.toJarFile(URL)
- See Also:
JarEntryFilter
-
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
-
-