@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2022 the original author or authors .
* Copyright 2002 - 2023 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -20,7 +20,6 @@ import java.lang.annotation.Annotation;
@@ -20,7 +20,6 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor ;
import java.lang.reflect.Field ;
import java.lang.reflect.Method ;
import java.lang.reflect.Modifier ;
import java.util.Map ;
import java.util.StringTokenizer ;
@ -52,6 +51,7 @@ import org.springframework.lang.Nullable;
@@ -52,6 +51,7 @@ import org.springframework.lang.Nullable;
* @author Rod Johnson
* @author Adrian Colyer
* @author Juergen Hoeller
* @author Sam Brannen
* @since 2 . 0
* /
public abstract class AbstractAspectJAdvisorFactory implements AspectJAdvisorFactory {
@ -101,14 +101,6 @@ public abstract class AbstractAspectJAdvisorFactory implements AspectJAdvisorFac
@@ -101,14 +101,6 @@ public abstract class AbstractAspectJAdvisorFactory implements AspectJAdvisorFac
@Override
public void validate ( Class < ? > aspectClass ) throws AopConfigException {
// If the parent has the annotation and isn't abstract it's an error
Class < ? > superclass = aspectClass . getSuperclass ( ) ;
if ( superclass . getAnnotation ( Aspect . class ) ! = null & &
! Modifier . isAbstract ( superclass . getModifiers ( ) ) ) {
throw new AopConfigException ( "[" + aspectClass . getName ( ) + "] cannot extend concrete aspect [" +
superclass . getName ( ) + "]" ) ;
}
AjType < ? > ajType = AjTypeSystem . getAjType ( aspectClass ) ;
if ( ! ajType . isAspect ( ) ) {
throw new NotAnAtAspectException ( aspectClass ) ;