package net.csdn.modules.scan; import javassist.ClassPool; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.List; /** * BlogInfo: WilliamZhu * Date: 12-6-4 * Time: 下午3:11 */ public interface ScanService { URL packagePath(String packageName); List<InputStream> scanArchives(URL... urls) throws IOException; List<InputStream> scanArchives(String packageName) throws IOException; Class scanClass(InputStream bits, LoadClassEnhanceCallBack loadClassEnhanceCallBack) throws IOException; List<Class> scanArchives(String packageName, LoadClassEnhanceCallBack loadClassEnhanceCallBack) throws IOException; List<Class> scanClass(List<InputStream> inputStreams, LoadClassEnhanceCallBack loadClassEnhanceCallBack) throws IOException; public List<String> classNames(String packageName); public List<String> classNames(String packageName, Class baseClass); public interface LoadClassEnhanceCallBack { public Class loaded(ClassPool classPool, DataInputStream classFile); } }