Class ReflectionsClassFinder

java.lang.Object
com.vaadin.flow.server.scanner.ReflectionsClassFinder
All Implemented Interfaces:
com.vaadin.flow.server.frontend.scanner.ClassFinder, Serializable, AutoCloseable

public class ReflectionsClassFinder extends Object implements com.vaadin.flow.server.frontend.scanner.ClassFinder, AutoCloseable
A class finder using org.reflections.
Since:
2.0
See Also:
  • Constructor Details

    • ReflectionsClassFinder

      public ReflectionsClassFinder(URL... urls)
      Constructor.
      Parameters:
      urls - the list of urls for finding classes.
    • ReflectionsClassFinder

      public ReflectionsClassFinder(ClassLoader classLoader, URL... urls)
  • Method Details

    • getAnnotatedClasses

      public Set<Class<?>> getAnnotatedClasses(Class<? extends Annotation> clazz)
      Specified by:
      getAnnotatedClasses in interface com.vaadin.flow.server.frontend.scanner.ClassFinder
    • getResource

      public URL getResource(String name)
      Specified by:
      getResource in interface com.vaadin.flow.server.frontend.scanner.ClassFinder
    • disableJarCaching

      public static URL disableJarCaching(URL url)
      Wraps a jar: URL with a handler that disables JVM-level JAR caching. Prevents JarFileFactory from caching stale JarFile instances across daemon builds (Gradle daemon, mvnd).
      Parameters:
      url - the URL to wrap, may be null
      Returns:
      a wrapped URL with caching disabled for jar: protocol, or the original URL for other protocols or null input
    • shouldInspectClass

      public boolean shouldInspectClass(String className)
      Specified by:
      shouldInspectClass in interface com.vaadin.flow.server.frontend.scanner.ClassFinder
    • loadClass

      public <T> Class<T> loadClass(String name) throws ClassNotFoundException
      Specified by:
      loadClass in interface com.vaadin.flow.server.frontend.scanner.ClassFinder
      Throws:
      ClassNotFoundException
    • getSubTypesOf

      public <T> Set<Class<? extends T>> getSubTypesOf(Class<T> type)
      Specified by:
      getSubTypesOf in interface com.vaadin.flow.server.frontend.scanner.ClassFinder
    • getClassLoader

      public ClassLoader getClassLoader()
      Specified by:
      getClassLoader in interface com.vaadin.flow.server.frontend.scanner.ClassFinder
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Throws:
      IOException