This commit is contained in:
huangchengxing 2022-07-13 22:40:03 +08:00
parent a352783b5c
commit da7dbc2ba3
3 changed files with 15 additions and 16 deletions

View File

@ -24,8 +24,7 @@ public abstract class AbstractTypeAnnotationScanner<T extends AbstractTypeAnnota
/** /**
* 是否允许扫描父类 * 是否允许扫描父类
*/ */
// FIXME rename includeSuperClass private boolean includeSuperClass;
private boolean includeSupperClass;
/** /**
* 是否允许扫描父接口 * 是否允许扫描父接口
@ -60,16 +59,16 @@ public abstract class AbstractTypeAnnotationScanner<T extends AbstractTypeAnnota
/** /**
* 构造一个类注解扫描器 * 构造一个类注解扫描器
* *
* @param includeSupperClass 是否允许扫描父类 * @param includeSuperClass 是否允许扫描父类
* @param includeInterfaces 是否允许扫描父接口 * @param includeInterfaces 是否允许扫描父接口
* @param filter 过滤器 * @param filter 过滤器
* @param excludeTypes 不包含的类型 * @param excludeTypes 不包含的类型
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected AbstractTypeAnnotationScanner(boolean includeSupperClass, boolean includeInterfaces, Predicate<Class<?>> filter, Set<Class<?>> excludeTypes) { protected AbstractTypeAnnotationScanner(boolean includeSuperClass, boolean includeInterfaces, Predicate<Class<?>> filter, Set<Class<?>> excludeTypes) {
Assert.notNull(filter, "filter must not null"); Assert.notNull(filter, "filter must not null");
Assert.notNull(excludeTypes, "excludeTypes must not null"); Assert.notNull(excludeTypes, "excludeTypes must not null");
this.includeSupperClass = includeSupperClass; this.includeSuperClass = includeSuperClass;
this.includeInterfaces = includeInterfaces; this.includeInterfaces = includeInterfaces;
this.filter = filter; this.filter = filter;
this.excludeTypes = excludeTypes; this.excludeTypes = excludeTypes;
@ -82,8 +81,8 @@ public abstract class AbstractTypeAnnotationScanner<T extends AbstractTypeAnnota
* *
* @return 是否允许扫描父类 * @return 是否允许扫描父类
*/ */
public boolean isIncludeSupperClass() { public boolean isIncludeSuperClass() {
return includeSupperClass; return includeSuperClass;
} }
/** /**
@ -137,11 +136,11 @@ public abstract class AbstractTypeAnnotationScanner<T extends AbstractTypeAnnota
/** /**
* 是否允许扫描父类 * 是否允许扫描父类
* *
* @param includeSupperClass 是否 * @param includeSuperClass 是否
* @return 当前实例 * @return 当前实例
*/ */
protected T setIncludeSupperClass(boolean includeSupperClass) { protected T setIncludeSuperClass(boolean includeSuperClass) {
this.includeSupperClass = includeSupperClass; this.includeSuperClass = includeSuperClass;
return typedThis; return typedThis;
} }
@ -246,13 +245,13 @@ public abstract class AbstractTypeAnnotationScanner<T extends AbstractTypeAnnota
} }
/** /**
* {@link #includeSupperClass}{@code true}则将目标类的父类也添加到nextClasses * {@link #includeSuperClass}{@code true}则将目标类的父类也添加到nextClasses
* *
* @param nextClassQueue 下一个类队列 * @param nextClassQueue 下一个类队列
* @param targetClass 目标类型 * @param targetClass 目标类型
*/ */
protected void scanSuperClassIfNecessary(List<Class<?>> nextClassQueue, Class<?> targetClass) { protected void scanSuperClassIfNecessary(List<Class<?>> nextClassQueue, Class<?> targetClass) {
if (includeSupperClass) { if (includeSuperClass) {
final Class<?> superClass = targetClass.getSuperclass(); final Class<?> superClass = targetClass.getSuperclass();
if (!ObjectUtil.equals(superClass, Object.class) && ObjectUtil.isNotNull(superClass)) { if (!ObjectUtil.equals(superClass, Object.class) && ObjectUtil.isNotNull(superClass)) {
nextClassQueue.add(superClass); nextClassQueue.add(superClass);

View File

@ -96,7 +96,7 @@ public class MethodAnnotationScanner extends AbstractTypeAnnotationScanner<Metho
*/ */
public MethodAnnotationScanner setScanSameSignatureMethod(boolean scanSuperMethodIfOverride) { public MethodAnnotationScanner setScanSameSignatureMethod(boolean scanSuperMethodIfOverride) {
setIncludeInterfaces(scanSuperMethodIfOverride); setIncludeInterfaces(scanSuperMethodIfOverride);
setIncludeSupperClass(scanSuperMethodIfOverride); setIncludeSuperClass(scanSuperMethodIfOverride);
return this; return this;
} }

View File

@ -73,12 +73,12 @@ public class TypeAnnotationScanner extends AbstractTypeAnnotationScanner<TypeAnn
/** /**
* 是否允许扫描父类 * 是否允许扫描父类
* *
* @param includeSupperClass 是否允许扫描父类 * @param includeSuperClass 是否允许扫描父类
* @return 当前实例 * @return 当前实例
*/ */
@Override @Override
public TypeAnnotationScanner setIncludeSupperClass(boolean includeSupperClass) { public TypeAnnotationScanner setIncludeSuperClass(boolean includeSuperClass) {
return super.setIncludeSupperClass(includeSupperClass); return super.setIncludeSuperClass(includeSuperClass);
} }
/** /**