Class OpenMetadata
java.lang.Object
cloud.opencode.base.classloader.OpenMetadata
OpenMetadata - Metadata Reading Facade
OpenMetadata - 元数据读取门面
Unified entry point for class metadata reading without loading classes.
不加载类读取类元数据的统一入口。
Features | 主要功能:
- Read class metadata by name - 按名称读取类元数据
- Read class metadata from Class - 从 Class 读取类元数据
- Read class metadata from resource - 从资源读取类元数据
- Batch reading from package - 从包批量读取
Usage Examples | 使用示例:
// Read by class name
ClassMetadata metadata = OpenMetadata.read("com.example.MyClass");
// Read from Class object
ClassMetadata metadata = OpenMetadata.read(MyClass.class);
// Check annotations without loading
if (metadata.hasAnnotation("org.springframework.stereotype.Service")) {
// Handle service class
}
// Batch read
List<ClassMetadata> all = OpenMetadata.readPackage("com.example");
Security | 安全性:
- Thread-safe: Yes - 线程安全: 是
- Null-safe: Yes - 空值安全: 是
- Since:
- JDK 25, opencode-base-classloader V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic ClassMetadataread(byte[] bytecode) Read class metadata from bytecode 从字节码读取类元数据static ClassMetadataRead class metadata from resource 从资源读取类元数据static ClassMetadataRead class metadata from Class object 从 Class 对象读取类元数据static ClassMetadataRead class metadata by class name 按类名读取类元数据static Class<MetadataReader> reader()Get metadata reader for advanced usage 获取元数据读取器用于高级用法static List<ClassMetadata> readPackage(String packageName) Read all class metadata from package 从包读取所有类元数据static List<ClassMetadata> readPackage(String packageName, Predicate<String> classNameFilter) Read class metadata from package with filter 从包读取类元数据(带过滤)
-
Method Details
-
read
Read class metadata by class name 按类名读取类元数据- Parameters:
className- fully qualified class name | 完全限定类名- Returns:
- class metadata | 类元数据
-
read
Read class metadata from Class object 从 Class 对象读取类元数据- Parameters:
clazz- class object | 类对象- Returns:
- class metadata | 类元数据
-
read
Read class metadata from resource 从资源读取类元数据- Parameters:
resource- class file resource | 类文件资源- Returns:
- class metadata | 类元数据
-
read
Read class metadata from bytecode 从字节码读取类元数据- Parameters:
bytecode- class bytecode | 类字节码- Returns:
- class metadata | 类元数据
-
readPackage
Read all class metadata from package 从包读取所有类元数据- Parameters:
packageName- package name | 包名- Returns:
- list of class metadata | 类元数据列表
-
readPackage
public static List<ClassMetadata> readPackage(String packageName, Predicate<String> classNameFilter) Read class metadata from package with filter 从包读取类元数据(带过滤)- Parameters:
packageName- package name | 包名classNameFilter- class name filter | 类名过滤器- Returns:
- list of class metadata | 类元数据列表
-
reader
Get metadata reader for advanced usage 获取元数据读取器用于高级用法- Returns:
- metadata reader class | 元数据读取器类
-