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.classes.Classes.Loaders.NotificationListenerOfParentsChange, 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.Memorizer

public class Sniffer
extends org.burningwave.core.classes.MemoryClassLoader
  • 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)
    • addByteCode

      public void addByteCode​(String className, ByteBuffer byteCode)
      Overrides:
      addByteCode in class org.burningwave.core.classes.MemoryClassLoader
    • consumeClass

      protected void consumeClass​(String className)
    • consumeClasses

      public void consumeClasses​(Collection<String> currentNotFoundClasses)
    • consumeResource

      protected Collection<org.burningwave.core.io.FileSystemItem> consumeResource​(String relativePath, boolean breakWhenFound)
    • addLoadedByteCode

      public void addLoadedByteCode​(String className, ByteBuffer byteCode)
      Overrides:
      addLoadedByteCode in class org.burningwave.core.classes.MemoryClassLoader
    • loadClass

      protected Class<?> loadClass​(String className, boolean resolve) throws ClassNotFoundException
      Overrides:
      loadClass in class org.burningwave.core.classes.MemoryClassLoader
      Throws:
      ClassNotFoundException
    • _loadClass

      public Class<?> _loadClass​(String className, boolean resolve) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • getResource

      public URL getResource​(String name)
      Overrides:
      getResource in class ClassLoader
    • getResources

      public Enumeration<URL> getResources​(String name) throws IOException
      Overrides:
      getResources in class ClassLoader
      Throws:
      IOException
    • getResourceAsStream

      public InputStream getResourceAsStream​(String name)
      Overrides:
      getResourceAsStream in class org.burningwave.core.classes.MemoryClassLoader
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.burningwave.core.Closeable
      Overrides:
      close in class org.burningwave.core.classes.MemoryClassLoader