com.zusmart.basic.scanner.Scanner Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zusmart-basic Show documentation
Show all versions of zusmart-basic Show documentation
基础模块,提供配置,日志,SPI,图排序,路径匹配,资源扫描,包扫描,常用工具类
package com.zusmart.basic.scanner;
import java.util.Set;
import com.zusmart.basic.extension.Extension;
import com.zusmart.basic.extension.ExtensionScope;
import com.zusmart.basic.matcher.PathMatcher;
/**
* 资源扫描器
*/
@Extension(value = "internal", scope = ExtensionScope.Prototype)
public interface Scanner {
public static final String KEY = "zusmart.extension.scanner";// PathScanner扩展点
public static final String VAL = "internal";
/**
* 设置路径匹配器
*
* @param pathMatcher
* 路径匹配器
*/
public void setPathMatcher(PathMatcher pathMatcher);
/**
* 获取路径匹配器
*
* @return 路径匹配器
*/
public PathMatcher getPathMatcher();
/**
* 设置classLoader
*
* @param classLoader
* jvm的classloader对象
*/
public void setClassLoader(ClassLoader classLoader);
/**
* 获取classLoader
*
* @return jvm的classloader对象
*/
public ClassLoader getClassLoader();
/**
* 添加类扫描匹配符
*
* @param classPattern
* 类扫描的表达式
*/
public void attachClassPattern(String classPattern);
public void attachClassPatterns(String... classPatterns);
public void attachClassPatterns(Set classPatterns);
/**
* 移除类扫描匹配符
*
* @param classPattern
* 类扫描的表达式
*/
public void detachClassPattern(String classPattern);
/**
* 添加资源扫描匹配符
*
* @param resourcePattern
* 资源扫描的表达式
*/
public void attachResourcePattern(String resourcePattern);
public void attachResourcePatterns(String... resourcePatterns);
public void attachResourcePatterns(Set resourcePatterns);
/**
* 移除资源扫描匹配符
*
* @param resourcePattern
* 资源扫描的表达式
*/
public void detachResourcePattern(String resourcePattern);
/**
* 添加路径过滤器
*
* @param scannerFilter
* 扫描过滤器
*/
public void attachScannerFilter(ScannerFilter scannerFilter);
/**
* 移除路径过滤器
*
* @param scannerFilter
* 扫描过滤器
*/
public void detachScannerFilter(ScannerFilter scannerFilter);
/**
* 添加类扫描后置处理器
*
* @param classProcessor
* 扫描后置处理器
*/
public void attachScannerClassProcessor(ScannerClassProcessor classProcessor);
/**
* 移除类扫描后置处理器
*
* @param classProcessor
* 扫描后置处理器
*/
public void detachScannerClassProcessor(ScannerClassProcessor classProcessor);
/**
* 添加资源扫描后置处理器
*
* @param resourceProcessor
* 扫描后置处理器
*/
public void attachScannerResourceProcessor(ScannerResourceProcessor resourceProcessor);
/**
* 移除资源扫描后置处理器
*
* @param resourceProcessor
* 扫描后置处理器
*/
public void detachScannerResourceProcessor(ScannerResourceProcessor resourceProcessor);
/**
* 执行扫描操作
*
* @return 扫描结果
*/
public Set scan();
}