Class MetadataReader

java.lang.Object
cloud.opencode.base.classloader.metadata.MetadataReader

public final class MetadataReader extends Object
Metadata Reader - Reads class metadata without loading classes 元数据读取器 - 不加载类读取类元数据

Reads class, method, field and annotation metadata from class files or loaded classes.

从类文件或已加载的类中读取类、方法、字段和注解元数据。

Features | 主要功能:

  • Read metadata by class name - 按类名读取元数据
  • Read metadata from resource - 从资源读取元数据
  • Read metadata from Class object - 从 Class 对象读取元数据
  • Batch reading with filtering - 批量读取带过滤

Usage Examples | 使用示例:

ClassMetadata metadata = MetadataReader.read("com.example.MyClass");
ClassMetadata metadata = MetadataReader.read(MyClass.class);
List<ClassMetadata> all = MetadataReader.readAll("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 Details

    • read

      public static ClassMetadata read(String className)
      Read class metadata by class name 按类名读取类元数据
      Parameters:
      className - fully qualified class name | 完全限定类名
      Returns:
      class metadata | 类元数据
    • read

      public static ClassMetadata read(Class<?> clazz)
      Read class metadata from Class object 从 Class 对象读取类元数据
      Parameters:
      clazz - class object | 类对象
      Returns:
      class metadata | 类元数据
    • read

      public static ClassMetadata read(Resource resource)
      Read class metadata from resource 从资源读取类元数据
      Parameters:
      resource - class file resource | 类文件资源
      Returns:
      class metadata | 类元数据
    • read

      public static ClassMetadata read(InputStream inputStream)
      Read class metadata from input stream 从输入流读取类元数据
      Parameters:
      inputStream - class file input stream | 类文件输入流
      Returns:
      class metadata | 类元数据
    • read

      public static ClassMetadata read(byte[] bytecode)
      Read class metadata from bytecode 从字节码读取类元数据
      Parameters:
      bytecode - class bytecode | 类字节码
      Returns:
      class metadata | 类元数据
    • readAll

      public static List<ClassMetadata> readAll(String packageName)
      Batch read class metadata from package 批量读取包下的类元数据
      Parameters:
      packageName - package name | 包名
      Returns:
      list of class metadata | 类元数据列表
    • readAll

      public static List<ClassMetadata> readAll(String packageName, Predicate<String> classNameFilter)
      Batch read class metadata from package with filter 批量读取包下的类元数据(带过滤)
      Parameters:
      packageName - package name | 包名
      classNameFilter - class name filter | 类名过滤器
      Returns:
      list of class metadata | 类元数据列表