Class FilesystemResourceLoader
- java.lang.Object
-
- org.apache.lucene.analysis.util.FilesystemResourceLoader
-
- All Implemented Interfaces:
ResourceLoader
public final class FilesystemResourceLoader extends Object implements ResourceLoader
SimpleResourceLoaderthat opens resource files from the local file system, optionally resolving against a base directory.This loader wraps a delegate
ResourceLoaderthat is used to resolve all files, the current base directory does not contain.newInstance(java.lang.String, java.lang.Class<T>)is always resolved against the delegate, as aClassLoaderis needed.You can chain several
FilesystemResourceLoaders to allow lookup of files in more than one base directory.
-
-
Constructor Summary
Constructors Constructor Description FilesystemResourceLoader(Path baseDirectory, ClassLoader delegate)Creates a resource loader that resolves resources against the given base directory.FilesystemResourceLoader(Path baseDirectory, Module delegate)Creates a resource loader that resolves resources against the given base directory.FilesystemResourceLoader(Path baseDirectory, ResourceLoader delegate)Creates a resource loader that resolves resources against the given base directory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> Class<? extends T>findClass(String cname, Class<T> expectedType)<T> TnewInstance(String cname, Class<T> expectedType)InputStreamopenResource(String resource)
-
-
-
Constructor Detail
-
FilesystemResourceLoader
public FilesystemResourceLoader(Path baseDirectory, ClassLoader delegate)
Creates a resource loader that resolves resources against the given base directory. Files not found in file system and class lookups are delegated toClassLoader.To use this constructor with the Java Module System, you must open all modules that contain resources to the
org.apache.lucene.coremodule, otherwise resources can't be looked up. It is recommended to useFilesystemResourceLoader(Path, Module)for such use cases as this would limit to certain modules.
-
FilesystemResourceLoader
public FilesystemResourceLoader(Path baseDirectory, Module delegate)
Creates a resource loader that resolves resources against the given base directory. Files not found in file system and class lookups are delegated toModuleResourceLoader.To use this constructor, you must open the module to the
org.apache.lucene.coremodule, otherwise resources can't be looked up.
-
FilesystemResourceLoader
public FilesystemResourceLoader(Path baseDirectory, ResourceLoader delegate)
Creates a resource loader that resolves resources against the given base directory. Files not found in file system and class lookups are delegated to the given delegateResourceLoader.
-
-
Method Detail
-
openResource
public InputStream openResource(String resource) throws IOException
- Specified by:
openResourcein interfaceResourceLoader- Throws:
IOException
-
newInstance
public <T> T newInstance(String cname, Class<T> expectedType)
- Specified by:
newInstancein interfaceResourceLoader
-
findClass
public <T> Class<? extends T> findClass(String cname, Class<T> expectedType)
- Specified by:
findClassin interfaceResourceLoader
-
-