All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.zusmart.basic.scanner.Scanner Maven / Gradle / Ivy

Go to download

基础模块,提供配置,日志,SPI,图排序,路径匹配,资源扫描,包扫描,常用工具类

There is a newer version: 0.0.3
Show newest version
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();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy