chore: adjust reflect related util's location

This commit is contained in:
2026-04-09 16:58:24 +08:00
parent 3e5d6ebeb4
commit 291371f8da
6 changed files with 12 additions and 12 deletions

View File

@@ -12,8 +12,8 @@ import work.slhaf.partner.framework.agent.factory.capability.exception.UnMatched
import work.slhaf.partner.framework.agent.factory.capability.exception.UnMatchedCapabilityMethodException import work.slhaf.partner.framework.agent.factory.capability.exception.UnMatchedCapabilityMethodException
import work.slhaf.partner.framework.agent.factory.component.annotation.AgentComponent import work.slhaf.partner.framework.agent.factory.component.annotation.AgentComponent
import work.slhaf.partner.framework.agent.factory.context.AgentRegisterContext import work.slhaf.partner.framework.agent.factory.context.AgentRegisterContext
import work.slhaf.partner.framework.agent.util.AgentUtil.isAssignableFromAnnotation import work.slhaf.partner.framework.agent.factory.util.ReflectUtil.isAssignableFromAnnotation
import work.slhaf.partner.framework.agent.util.AgentUtil.methodSignature import work.slhaf.partner.framework.agent.factory.util.ReflectUtil.methodSignature
/** /**
* 校验 Capability 体系注解关系,并将扫描结果写入 `CapabilityFactoryContext`。 * 校验 Capability 体系注解关系,并将扫描结果写入 `CapabilityFactoryContext`。

View File

@@ -8,7 +8,7 @@ import work.slhaf.partner.framework.agent.factory.capability.exception.Capabilit
import work.slhaf.partner.framework.agent.factory.capability.exception.CapabilityFactoryExecuteFailedException import work.slhaf.partner.framework.agent.factory.capability.exception.CapabilityFactoryExecuteFailedException
import work.slhaf.partner.framework.agent.factory.capability.exception.DuplicateMethodException import work.slhaf.partner.framework.agent.factory.capability.exception.DuplicateMethodException
import work.slhaf.partner.framework.agent.factory.context.AgentRegisterContext import work.slhaf.partner.framework.agent.factory.context.AgentRegisterContext
import work.slhaf.partner.framework.agent.util.AgentUtil.methodSignature import work.slhaf.partner.framework.agent.factory.util.ReflectUtil.methodSignature
import java.lang.reflect.Method import java.lang.reflect.Method
import java.lang.reflect.Proxy import java.lang.reflect.Proxy
import java.util.function.Function import java.util.function.Function

View File

@@ -7,7 +7,7 @@ import work.slhaf.partner.framework.agent.factory.component.annotation.Init
import work.slhaf.partner.framework.agent.factory.component.annotation.InjectModule import work.slhaf.partner.framework.agent.factory.component.annotation.InjectModule
import work.slhaf.partner.framework.agent.factory.component.exception.ModuleCheckException import work.slhaf.partner.framework.agent.factory.component.exception.ModuleCheckException
import work.slhaf.partner.framework.agent.factory.context.AgentRegisterContext import work.slhaf.partner.framework.agent.factory.context.AgentRegisterContext
import work.slhaf.partner.framework.agent.util.AgentUtil import work.slhaf.partner.framework.agent.factory.util.ReflectUtil
/** /**
* 校验 Component 层面的注解约束,并缓存 Init 方法扫描结果。 * 校验 Component 层面的注解约束,并缓存 Init 方法扫描结果。
@@ -26,7 +26,7 @@ class ComponentAnnotationValidatorFactory : AgentBaseFactory() {
reflections.getMethodsAnnotatedWith(Init::class.java) reflections.getMethodsAnnotatedWith(Init::class.java)
.forEach { method -> .forEach { method ->
val declaringClass = method.declaringClass val declaringClass = method.declaringClass
if (!AgentUtil.isAssignableFromAnnotation(declaringClass, AgentComponent::class.java)) { if (!ReflectUtil.isAssignableFromAnnotation(declaringClass, AgentComponent::class.java)) {
throw ModuleCheckException( throw ModuleCheckException(
"@Init 只能用于 AgentComponent 中: " + "@Init 只能用于 AgentComponent 中: " +
"${declaringClass.name}#${method.name}" "${declaringClass.name}#${method.name}"
@@ -47,7 +47,7 @@ class ComponentAnnotationValidatorFactory : AgentBaseFactory() {
reflections.getFieldsAnnotatedWith(InjectModule::class.java) reflections.getFieldsAnnotatedWith(InjectModule::class.java)
.forEach { field -> .forEach { field ->
val declaringClass = field.declaringClass val declaringClass = field.declaringClass
if (!AgentUtil.isAssignableFromAnnotation(declaringClass, AgentComponent::class.java)) { if (!ReflectUtil.isAssignableFromAnnotation(declaringClass, AgentComponent::class.java)) {
throw ModuleCheckException( throw ModuleCheckException(
"@InjectModule 只能用于 AgentComponent 中: " + "@InjectModule 只能用于 AgentComponent 中: " +
"${declaringClass.name}#${field.name}" "${declaringClass.name}#${field.name}"

View File

@@ -5,7 +5,7 @@ import work.slhaf.partner.framework.agent.factory.component.annotation.Init
import work.slhaf.partner.framework.agent.factory.component.exception.ModuleInitHookExecuteFailedException import work.slhaf.partner.framework.agent.factory.component.exception.ModuleInitHookExecuteFailedException
import work.slhaf.partner.framework.agent.factory.context.AgentContext import work.slhaf.partner.framework.agent.factory.context.AgentContext
import work.slhaf.partner.framework.agent.factory.context.AgentRegisterContext import work.slhaf.partner.framework.agent.factory.context.AgentRegisterContext
import work.slhaf.partner.framework.agent.util.AgentUtil.methodSignature import work.slhaf.partner.framework.agent.factory.util.ReflectUtil.methodSignature
import java.lang.reflect.Method import java.lang.reflect.Method
/** /**

View File

@@ -4,7 +4,7 @@ import work.slhaf.partner.framework.agent.factory.AgentBaseFactory
import work.slhaf.partner.framework.agent.factory.capability.annotation.CapabilityCore import work.slhaf.partner.framework.agent.factory.capability.annotation.CapabilityCore
import work.slhaf.partner.framework.agent.factory.component.annotation.AgentComponent import work.slhaf.partner.framework.agent.factory.component.annotation.AgentComponent
import work.slhaf.partner.framework.agent.factory.component.exception.ModuleCheckException import work.slhaf.partner.framework.agent.factory.component.exception.ModuleCheckException
import work.slhaf.partner.framework.agent.util.AgentUtil import work.slhaf.partner.framework.agent.factory.util.ReflectUtil
/** /**
* 校验并收集 `@Shutdown` 方法。 * 校验并收集 `@Shutdown` 方法。
@@ -24,9 +24,9 @@ class ShutdownHookCollectorFactory : AgentBaseFactory() {
.forEach { method -> .forEach { method ->
val declaringClass = method.declaringClass val declaringClass = method.declaringClass
val isAgentComponentRelated = val isAgentComponentRelated =
AgentUtil.isAssignableFromAnnotation(declaringClass, AgentComponent::class.java) ReflectUtil.isAssignableFromAnnotation(declaringClass, AgentComponent::class.java)
val isCapabilityCoreRelated = val isCapabilityCoreRelated =
AgentUtil.isAssignableFromAnnotation(declaringClass, CapabilityCore::class.java) ReflectUtil.isAssignableFromAnnotation(declaringClass, CapabilityCore::class.java)
if (!isAgentComponentRelated && !isCapabilityCoreRelated) { if (!isAgentComponentRelated && !isCapabilityCoreRelated) {
throw ModuleCheckException( throw ModuleCheckException(

View File

@@ -1,4 +1,4 @@
package work.slhaf.partner.framework.agent.util; package work.slhaf.partner.framework.agent.factory.util;
import org.reflections.Reflections; import org.reflections.Reflections;
@@ -8,7 +8,7 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public final class AgentUtil { public final class ReflectUtil {
public static boolean isAssignableFromAnnotation(Class<?> clazz, Class<? extends Annotation> targetAnnotation) { public static boolean isAssignableFromAnnotation(Class<?> clazz, Class<? extends Annotation> targetAnnotation) {
Set<Class<?>> visited = new HashSet<>(); Set<Class<?>> visited = new HashSet<>();