Class ResourceLoaders


  • public final class ResourceLoaders
    extends Object
    Static factory methods for various types of resource loaders.
    Author:
    David M. Lloyd
    • Method Detail

      • createFileResourceLoader

        @Deprecated
        public static IterableResourceLoader createFileResourceLoader​(String name,
                                                                      File root)
        Deprecated.
        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

        @Deprecated
        public static IterableResourceLoader createIterableFileResourceLoader​(String name,
                                                                              File root)
        Deprecated.
        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

        @Deprecated
        public static IterableResourceLoader createJarResourceLoader​(String name,
                                                                     JarFile jarFile)
        Deprecated.
        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​(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:
        jarFile - the backing JAR file
        Returns:
        the resource loader
      • createJarResourceLoader

        public static IterableResourceLoader createJarResourceLoader​(String name,
                                                                     JarFile jarFile,
                                                                     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
      • createJarResourceLoader

        public static IterableResourceLoader createJarResourceLoader​(JarFile jarFile,
                                                                     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:
        jarFile - the backing JAR file
        Returns:
        the resource loader
      • createIterableJarResourceLoader

        @Deprecated
        public static IterableResourceLoader createIterableJarResourceLoader​(String name,
                                                                             JarFile jarFile)
        Deprecated.
        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
      • createFilteredResourceLoader

        public static IterableResourceLoader createFilteredResourceLoader​(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
      • createIterableFilteredResourceLoader

        public static IterableResourceLoader createIterableFilteredResourceLoader​(PathFilter pathFilter,
                                                                                  IterableResourceLoader originalLoader)
        Deprecated.
        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
      • createPathResourceLoader

        public static IterableResourceLoader createPathResourceLoader​(Path path)
        Create a NIO2 Path-backed iterable resource loader.
        Parameters:
        path - the root path of the resource loader
        Returns:
        the resource loader
      • createServiceResourceLoader

        public static ResourceLoader createServiceResourceLoader​(Map<String,​List<String>> serviceMap)
        Create a service resource loader. This is a resource loader which answers service load requests with a preset implementation name.
        Parameters:
        serviceMap - a map of service types to a list of implementation names (must not be null)
        Returns:
        the resource loader (not null)