Class ResourceLoaders


  • public final class ResourceLoaders
    extends java.lang.Object
    Static factory methods for various types of resource loaders.
    • Field Detail

      • USE_INDEXES

        static final boolean USE_INDEXES
      • WRITE_INDEXES

        static final boolean WRITE_INDEXES
    • Constructor Detail

      • ResourceLoaders

        private ResourceLoaders()
    • Method Detail

      • createFileResourceLoader

        public static ResourceLoader createFileResourceLoader​(java.lang.String name,
                                                              java.io.File root)
        Create a filesystem-backed resource loader with support for native libraries. Created classes have a code source with a file: URL.
        Parameters:
        name - the name of the resource root
        root - the root file of the resource loader
        Returns:
        the resource loader
      • createIterableFileResourceLoader

        public static IterableResourceLoader createIterableFileResourceLoader​(java.lang.String name,
                                                                              java.io.File root)
        Create a filesystem-backed iterable resource loader with support for native libraries. Created classes have a code source with a file: URL.
        Parameters:
        name - the name of the resource root
        root - the root file of the resource loader
        Returns:
        the resource loader
      • createJarResourceLoader

        public static ResourceLoader createJarResourceLoader​(java.lang.String name,
                                                             java.util.jar.JarFile jarFile)
        Create a JAR-backed resource loader. JAR resource loaders do not have native library support. Created classes have a code source with a jar: URL; nested JARs are not supported.
        Parameters:
        name - the name of the resource root
        jarFile - the backing JAR file
        Returns:
        the resource loader
      • createJarResourceLoader

        public static IterableResourceLoader createJarResourceLoader​(java.lang.String name,
                                                                     java.util.jar.JarFile jarFile,
                                                                     java.lang.String relativePath)
        Create a JAR-backed resource loader. JAR resource loaders do not have native library support. Created classes have a code source with a jar: URL; nested JARs are not supported. The given relative path within the JAR is used as the root of the loader.
        Parameters:
        name - the name of the resource root
        jarFile - the backing JAR file
        Returns:
        the resource loader
      • createIterableJarResourceLoader

        public static IterableResourceLoader createIterableJarResourceLoader​(java.lang.String name,
                                                                             java.util.jar.JarFile jarFile)
        Create a JAR-backed iterable resource loader. JAR resource loaders do not have native library support. Created classes have a code source with a jar: URL; nested JARs are not supported.
        Parameters:
        name - the name of the resource root
        jarFile - the backing JAR file
        Returns:
        the resource loader
      • createFilteredResourceLoader

        public static ResourceLoader createFilteredResourceLoader​(PathFilter pathFilter,
                                                                  ResourceLoader originalLoader)
        Create a filtered view of a resource loader, which allows classes to be included or excluded on a name basis. The given filter is matched against the actual class or resource name, not the directory name.
        Parameters:
        pathFilter - the path filter to apply
        originalLoader - the original loader to apply to
        Returns:
        the filtered resource loader
      • createIterableFilteredResourceLoader

        public static IterableResourceLoader createIterableFilteredResourceLoader​(PathFilter pathFilter,
                                                                                  IterableResourceLoader originalLoader)
        Create a filtered view of an iterable resource loader, which allows classes to be included or excluded on a name basis. The given filter is matched against the actual class or resource name, not the directory name.
        Parameters:
        pathFilter - the path filter to apply
        originalLoader - the original loader to apply to
        Returns:
        the filtered resource loader