org.nutz.aop
接口 ClassDefiner

所有已知实现类:
DefaultClassDefiner

public interface ClassDefiner

根据字节码,定义一个 Class 文件

它就是一种 ClassLoader,如果已经定义过的 Class,它将不再重复定义

作者:
zozoh(zozohtnt@gmail.com)

方法摘要
 java.lang.Class<?> define(java.lang.String className, byte[] bytes)
          根据字节码,定义一个 Class 文件,如果已经定义过的 Class,它将不再重复定义
 boolean has(java.lang.String className)
           
 java.lang.Class<?> load(java.lang.String className)
           
 

方法详细信息

define

java.lang.Class<?> define(java.lang.String className,
                          byte[] bytes)
                          throws java.lang.ClassFormatError
根据字节码,定义一个 Class 文件,如果已经定义过的 Class,它将不再重复定义

参数:
className - 一个类的全名
bytes - 字节码
返回:
类对象
抛出:
java.lang.ClassFormatError - 字节码格式错误

has

boolean has(java.lang.String className)
参数:
className - 一个类全名
返回:
是否在缓存中存在这个类的定义

load

java.lang.Class<?> load(java.lang.String className)
                        throws java.lang.ClassNotFoundException
参数:
className - 一个类的全名
返回:
缓存中的类定义
抛出:
java.lang.ClassNotFoundException - 如果缓存中没有这个类定义