Package org.jboss.modules
Class FileResourceLoader
java.lang.Object
org.jboss.modules.AbstractResourceLoader
org.jboss.modules.NativeLibraryResourceLoader
org.jboss.modules.FileResourceLoader
- All Implemented Interfaces:
AutoCloseable
,IterableResourceLoader
,ResourceLoader
final class FileResourceLoader
extends NativeLibraryResourceLoader
implements IterableResourceLoader
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.jboss.modules.NativeLibraryResourceLoader
NativeLibraryResourceLoader.Identification
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CodeSource
private final AccessControlContext
private final Manifest
private final String
-
Constructor Summary
ConstructorsConstructorDescriptionFileResourceLoader
(String rootName, File root, AccessControlContext context) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
buildIndex
(List<String> index, File root, String pathBase) private ClassSpec
doGetClassSpec
(String fileName) getClassSpec
(String fileName) Get the class specification for the given class name.Get the base location of the resources in this loader (if any).getPackageSpec
(String name) Get the package specification for the given directory name.getPaths()
Get the collection of resource paths.getResource
(String name) Get a resource with the given name.Get the name of the root represented by this resource loader.iterateResources
(String startPath, boolean recursive) Enumerate all the resources under the given path.private static Manifest
readManifestFile
(File manifestFile) Methods inherited from class org.jboss.modules.NativeLibraryResourceLoader
getArchName, getLibrary, getRoot
Methods inherited from class org.jboss.modules.AbstractResourceLoader
getPackageSpec
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jboss.modules.ResourceLoader
close, getLibrary
-
Field Details
-
rootName
-
manifest
-
codeSource
-
context
-
-
Constructor Details
-
FileResourceLoader
FileResourceLoader(String rootName, File root, AccessControlContext context)
-
-
Method Details
-
readManifestFile
-
getRootName
Description copied from interface:ResourceLoader
Get the name of the root represented by this resource loader.- Specified by:
getRootName
in interfaceResourceLoader
- Overrides:
getRootName
in classAbstractResourceLoader
- Returns:
- the name of the root
-
getClassSpec
Description copied from interface:ResourceLoader
Get the class specification for the given class name. If no matching class is found,null
is returned.- Specified by:
getClassSpec
in interfaceResourceLoader
- Overrides:
getClassSpec
in classAbstractResourceLoader
- Parameters:
fileName
- the fileName of the class, e.g. for the classorg.jboss.modules.ResourceLoader
the fileName will beorg/jboss/modules/ResourceLoader.class
- Returns:
- the class specification, or
null
if the named class is not found - Throws:
IOException
- if an I/O error occurs
-
doGetClassSpec
- Throws:
IOException
-
getPackageSpec
Description copied from interface:ResourceLoader
Get the package specification for the given directory name. Always returns a package specification; this method cannot be used to test for the existence of a package. A package spec should always be acquired from the same resource loader which provided the class specification. The directory name will always be specified using "/
" separators.- Specified by:
getPackageSpec
in interfaceResourceLoader
- Overrides:
getPackageSpec
in classAbstractResourceLoader
- Parameters:
name
- the directory name- Returns:
- the package specification
- Throws:
IOException
- if an I/O error occurs
-
getResource
Description copied from interface:ResourceLoader
Get a resource with the given name. If no such resource is available,null
is returned. The resource name will always be specified using "/
" separators for the directory segments.- Specified by:
getResource
in interfaceResourceLoader
- Overrides:
getResource
in classAbstractResourceLoader
- Parameters:
name
- the resource name- Returns:
- the resource, or
null
if it is not available
-
iterateResources
Description copied from interface:IterableResourceLoader
Enumerate all the resources under the given path. The given path name is relative to the root of the resource loader. If the path "escapes" the root via..
, such segments will be consumed. If the path is absolute, it will be converted to a relative path by dropping the leading/
.- Specified by:
iterateResources
in interfaceIterableResourceLoader
- Parameters:
startPath
- the path to search underrecursive
-true
to recursively descend into subdirectories,false
to only read this path- Returns:
- the resource iterator (possibly empty)
-
getPaths
Description copied from interface:ResourceLoader
Get the collection of resource paths. Called one time only when the resource loader is initialized. The paths should use "/
" characters to separate the path segments.- Specified by:
getPaths
in interfaceResourceLoader
- Overrides:
getPaths
in classAbstractResourceLoader
- Returns:
- the resource paths
-
getLocation
Description copied from interface:ResourceLoader
Get the base location of the resources in this loader (if any). If the location is not known, or the resource loader does not support locations, or the resource loader does not support this method,null
is returned.- Specified by:
getLocation
in interfaceResourceLoader
- Overrides:
getLocation
in classNativeLibraryResourceLoader
- Returns:
- the base location of the resources in this loader, or
null
if not available
-
buildIndex
-