mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 08:43:02 +08:00
- 调整Api包下的目录结构 - 抽取方法‘递归收集某类的继承链上的所有类’中 - 移除 ModuleFactoryContext、ModuleRegisterFactory 中关于 Init 方法的加载逻辑,将在 ModuleInitHookExecuteFactory 中加载并执行 - 完善了 ActivateModel 接口中prompt通用加载的实现 - 移除原有的框架Demo实现,开始进行测试Demo的编写
25 lines
990 B
Java
25 lines
990 B
Java
package module;
|
|
|
|
import net.bytebuddy.ByteBuddy;
|
|
import net.bytebuddy.implementation.MethodDelegation;
|
|
import net.bytebuddy.matcher.ElementMatchers;
|
|
import org.junit.jupiter.api.Test;
|
|
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionModule;
|
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
|
public class ModuleProxyTest {
|
|
@Test
|
|
public void test() throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
|
|
Class<? extends AgentInteractionModule> clazz = new ByteBuddy().subclass(MyAgentInteractionModule.class)
|
|
.method(ElementMatchers.isOverriddenFrom(AgentInteractionModule.class))
|
|
.intercept(MethodDelegation.to(
|
|
new MyModuleProxyInterceptor()
|
|
))
|
|
.make()
|
|
.load(ModuleProxyTest.class.getClassLoader())
|
|
.getLoaded();
|
|
clazz.getConstructor().newInstance().execute(null);
|
|
}
|
|
}
|