![JAR search and dependency download from the Maven repository](/logo.png)
com.qa.framework.classfinder.impl.DefaultClassScanner Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of smart-api-framework Show documentation
Show all versions of smart-api-framework Show documentation
Support web service api automaton test based on testng and httpclient
package com.qa.framework.classfinder.impl;
import com.qa.framework.classfinder.ClassScanner;
import com.qa.framework.classfinder.impl.support.AnnotationClassTemplate;
import com.qa.framework.classfinder.impl.support.ClassTemplate;
import com.qa.framework.classfinder.impl.support.SupperClassTemplate;
import java.lang.annotation.Annotation;
import java.util.List;
/**
* 默认类扫描器
*/
public class DefaultClassScanner implements ClassScanner {
@Override
public List> getClassList(String packageName) {
return new ClassTemplate(packageName) {
@Override
public boolean checkAddClass(Class> cls) {
String className = cls.getName();
String pkgName = className.substring(0, className.lastIndexOf("."));
return pkgName.startsWith(packageName);
}
}.getClassList();
}
@Override
public List> getClassListByAnnotation(String packageName, Class extends Annotation> annotationClass) {
return new AnnotationClassTemplate(packageName, annotationClass) {
@Override
public boolean checkAddClass(Class> cls) {
return cls.isAnnotationPresent(annotationClass);
}
}.getClassList();
}
@Override
public List> getClassListBySuper(String packageName, Class> superClass) {
return new SupperClassTemplate(packageName, superClass) {
@Override
public boolean checkAddClass(Class> cls) {
return superClass.isAssignableFrom(cls) && !superClass.equals(cls);
}
}.getClassList();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy