mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 08:43:02 +08:00
chore: adjust reflect related util's location
This commit is contained in:
@@ -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`。
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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<>();
|
||||||
Reference in New Issue
Block a user