Class ResourceScanner
java.lang.Object
cloud.opencode.base.reflect.scan.ResourceScanner
Resource Scanner
资源扫描器
Scans for resources in the classpath.
扫描类路径中的资源。
Features | 主要功能:
- Extension filtering - 扩展名过滤
- Pattern matching - 模式匹配
- Package filtering - 包过滤
Usage Examples | 使用示例:
List<ResourceInfo> xmlFiles = ResourceScanner.from(classPath)
.withExtension("xml")
.inPackage("com.example")
.scan();
Security | 安全性:
- Thread-safe: No (mutable builder state) - 线程安全: 否(可变构建器状态)
- Null-safe: No (class path must be non-null) - 空值安全: 否(类路径须非空)
- Since:
- JDK 25, opencode-base-reflect V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic ResourceScannercreate()Creates a ResourceScanner using context ClassLoader 使用上下文ClassLoader创建ResourceScannerexcludeClasses(boolean exclude) Sets whether to exclude class files 设置是否排除类文件filter(Predicate<ResourceInfo> predicate) Adds a custom filter 添加自定义过滤器findJson()Finds JSON files 查找JSON文件Finds properties files 查找属性文件findXml()Finds XML files 查找XML文件findYaml()Finds YAML files 查找YAML文件static ResourceScannerCreates a ResourceScanner from ClassPath 从ClassPath创建ResourceScannerstatic ResourceScannerfrom(ClassLoader classLoader) Creates a ResourceScanner from ClassLoader 从ClassLoader创建ResourceScannerIncludes class files in results 在结果中包含类文件Filters by package 按包过滤inPackages(String... packageNames) Filters by multiple packages 按多个包过滤Filters by name pattern (regex) 按名称模式过滤(正则表达式)nameContains(String substring) Filters by name containing 按名称包含过滤nameEndsWith(String suffix) Filters by name suffix 按名称后缀过滤nameStartsWith(String prefix) Filters by name prefix 按名称前缀过滤scan()Scans and returns matching resources 扫描并返回匹配的资源stream()Scans and returns as stream 扫描并返回为流toList()Scans and returns as list 扫描并返回为列表withExtension(String extension) Filters by extension 按扩展名过滤withExtensions(String... extensions) Filters by multiple extensions 按多个扩展名过滤
-
Method Details
-
from
Creates a ResourceScanner from ClassPath 从ClassPath创建ResourceScanner- Parameters:
classPath- the ClassPath | ClassPath- Returns:
- the scanner | 扫描器
-
from
Creates a ResourceScanner from ClassLoader 从ClassLoader创建ResourceScanner- Parameters:
classLoader- the class loader | 类加载器- Returns:
- the scanner | 扫描器
-
create
Creates a ResourceScanner using context ClassLoader 使用上下文ClassLoader创建ResourceScanner- Returns:
- the scanner | 扫描器
-
excludeClasses
Sets whether to exclude class files 设置是否排除类文件- Parameters:
exclude- whether to exclude | 是否排除- Returns:
- this scanner | 此扫描器
-
includeClasses
Includes class files in results 在结果中包含类文件- Returns:
- this scanner | 此扫描器
-
withExtension
Filters by extension 按扩展名过滤- Parameters:
extension- the extension (without dot) | 扩展名(不含点)- Returns:
- this scanner | 此扫描器
-
withExtensions
Filters by multiple extensions 按多个扩展名过滤- Parameters:
extensions- the extensions | 扩展名- Returns:
- this scanner | 此扫描器
-
inPackage
Filters by package 按包过滤- Parameters:
packageName- the package name | 包名- Returns:
- this scanner | 此扫描器
-
inPackages
Filters by multiple packages 按多个包过滤- Parameters:
packageNames- the package names | 包名- Returns:
- this scanner | 此扫描器
-
matching
Filters by name pattern (regex) 按名称模式过滤(正则表达式)- Parameters:
pattern- the regex pattern | 正则表达式模式- Returns:
- this scanner | 此扫描器
-
nameContains
Filters by name containing 按名称包含过滤- Parameters:
substring- the substring | 子字符串- Returns:
- this scanner | 此扫描器
-
nameStartsWith
Filters by name prefix 按名称前缀过滤- Parameters:
prefix- the prefix | 前缀- Returns:
- this scanner | 此扫描器
-
nameEndsWith
Filters by name suffix 按名称后缀过滤- Parameters:
suffix- the suffix | 后缀- Returns:
- this scanner | 此扫描器
-
filter
Adds a custom filter 添加自定义过滤器- Parameters:
predicate- the predicate | 谓词- Returns:
- this scanner | 此扫描器
-
scan
Scans and returns matching resources 扫描并返回匹配的资源- Returns:
- set of ResourceInfo | ResourceInfo集合
-
stream
Scans and returns as stream 扫描并返回为流- Returns:
- stream of ResourceInfo | ResourceInfo流
-
toList
Scans and returns as list 扫描并返回为列表- Returns:
- list of ResourceInfo | ResourceInfo列表
-
findProperties
Finds properties files 查找属性文件- Returns:
- set of ResourceInfo | ResourceInfo集合
-
findXml
Finds XML files 查找XML文件- Returns:
- set of ResourceInfo | ResourceInfo集合
-
findJson
Finds JSON files 查找JSON文件- Returns:
- set of ResourceInfo | ResourceInfo集合
-
findYaml
Finds YAML files 查找YAML文件- Returns:
- set of ResourceInfo | ResourceInfo集合
-