Class Sniffer
java.lang.Object
java.lang.ClassLoader
org.burningwave.core.classes.MemoryClassLoader
org.burningwave.tools.dependencies.Sniffer
- All Implemented Interfaces:
AutoCloseable,org.burningwave.core.Cleanable,org.burningwave.core.Closeable,org.burningwave.core.Component,org.burningwave.core.Identifiable,org.burningwave.core.iterable.Properties.Listener,org.burningwave.core.ManagedLogger,org.burningwave.core.Memorizer
public class Sniffer
extends org.burningwave.core.classes.MemoryClassLoader
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
Constructors Constructor Description Sniffer(ClassLoader parent) -
Method Summary
Modifier and Type Method Description Class<?>_loadClass(String className, boolean resolve)voidaddByteCode(String className, ByteBuffer byteCode)voidaddLoadedByteCode(String className, ByteBuffer byteCode)voidclose()protected Collection<org.burningwave.core.classes.JavaClass>consumeClass(String className)Collection<org.burningwave.core.classes.JavaClass>consumeClasses(Collection<String> currentNotFoundClasses)protected Collection<org.burningwave.core.io.FileSystemItem>consumeResource(String relativePath, boolean breakWhenFound)ClassLoadergetMasterClassLoader(ClassLoader classLoader)URLgetResource(String name)InputStreamgetResourceAsStream(String name)Enumeration<URL>getResources(String name)protected Snifferinit(boolean useAsMasterClassLoader, Collection<String> baseClassPaths, Function<org.burningwave.core.classes.JavaClass,Boolean> javaClassAdder, Function<org.burningwave.core.io.FileSystemItem,Boolean> resourceAdder, org.burningwave.core.function.TriConsumer<String,String,ByteBuffer> resourcesConsumer)protected Class<?>loadClass(String className, boolean resolve)Function<Boolean,ClassLoader>setAsMasterClassLoader(ClassLoader classLoader)Methods inherited from class org.burningwave.core.classes.MemoryClassLoader
addByteCodes, addByteCodes, clear, create, definePackage, findClass, forceBytecodesLoading, getByteCodeAsInputStream, getByteCodeOf, getLoadedClassesForPackage, getNotLoadedByteCode, hasPackageBeenDefined, loadOrDefineClass, loadOrDefineClass, loadOrDefineClass, register, removeNotLoadedBytecode, unregister, unregisterMethods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.burningwave.core.Closeable
closeResources, closeResources, createCloseResoucesTask, createCloseResoucesTaskMethods inherited from interface org.burningwave.core.ManagedLogger
logDebug, logDebug, logError, logError, logError, logError, logError, logInfo, logInfo, logTrace, logTrace, logWarn, logWarn
-
Constructor Details
-
Method Details
-
init
protected Sniffer init(boolean useAsMasterClassLoader, Collection<String> baseClassPaths, Function<org.burningwave.core.classes.JavaClass,Boolean> javaClassAdder, Function<org.burningwave.core.io.FileSystemItem,Boolean> resourceAdder, org.burningwave.core.function.TriConsumer<String,String,ByteBuffer> resourcesConsumer) -
setAsMasterClassLoader
-
getMasterClassLoader
-
addByteCode
- Overrides:
addByteCodein classorg.burningwave.core.classes.MemoryClassLoader
-
consumeClass
-
consumeClasses
public Collection<org.burningwave.core.classes.JavaClass> consumeClasses(Collection<String> currentNotFoundClasses) -
consumeResource
protected Collection<org.burningwave.core.io.FileSystemItem> consumeResource(String relativePath, boolean breakWhenFound) -
addLoadedByteCode
- Overrides:
addLoadedByteCodein classorg.burningwave.core.classes.MemoryClassLoader
-
loadClass
- Overrides:
loadClassin classorg.burningwave.core.classes.MemoryClassLoader- Throws:
ClassNotFoundException
-
_loadClass
- Throws:
ClassNotFoundException
-
getResource
- Overrides:
getResourcein classClassLoader
-
getResources
- Overrides:
getResourcesin classClassLoader- Throws:
IOException
-
getResourceAsStream
- Overrides:
getResourceAsStreamin classorg.burningwave.core.classes.MemoryClassLoader
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceorg.burningwave.core.Closeable- Overrides:
closein classorg.burningwave.core.classes.MemoryClassLoader
-