Package org.jboss.modules
Class FilteredResourceLoader
- java.lang.Object
-
- org.jboss.modules.FilteredResourceLoader
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,ResourceLoader
final class FilteredResourceLoader extends java.lang.Object implements ResourceLoader
-
-
Field Summary
Fields Modifier and Type Field Description private PathFilter
filter
private ResourceLoader
loader
-
Constructor Summary
Constructors Constructor Description FilteredResourceLoader(PathFilter filter, ResourceLoader loader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes this resource, relinquishing any underlying resources.ClassSpec
getClassSpec(java.lang.String fileName)
Get the class specification for the given class name.java.lang.String
getLibrary(java.lang.String name)
Get the absolute physical filesystem path for a library with the given name.java.net.URI
getLocation()
Get the base location of the resources in this loader (if any).PackageSpec
getPackageSpec(java.lang.String name)
Get the package specification for the given directory name.java.util.Collection<java.lang.String>
getPaths()
Get the collection of resource paths.Resource
getResource(java.lang.String name)
Get a resource with the given name.java.lang.String
getRootName()
Get the name of the root represented by this resource loader.
-
-
-
Field Detail
-
filter
private final PathFilter filter
-
loader
private final ResourceLoader loader
-
-
Constructor Detail
-
FilteredResourceLoader
FilteredResourceLoader(PathFilter filter, ResourceLoader loader)
-
-
Method Detail
-
getRootName
public java.lang.String getRootName()
Description copied from interface:ResourceLoader
Get the name of the root represented by this resource loader.- Specified by:
getRootName
in interfaceResourceLoader
- Returns:
- the name of the root
-
getClassSpec
public ClassSpec getClassSpec(java.lang.String fileName) throws java.io.IOException
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
- 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:
java.io.IOException
- if an I/O error occurs
-
getPackageSpec
public PackageSpec getPackageSpec(java.lang.String name) throws java.io.IOException
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
- Parameters:
name
- the directory name- Returns:
- the package specification
- Throws:
java.io.IOException
- if an I/O error occurs
-
getResource
public Resource getResource(java.lang.String name)
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
- Parameters:
name
- the resource name- Returns:
- the resource, or
null
if it is not available
-
getLibrary
public java.lang.String getLibrary(java.lang.String name)
Description copied from interface:ResourceLoader
Get the absolute physical filesystem path for a library with the given name. The resultant path should be path-separated using "/
" characters.- Specified by:
getLibrary
in interfaceResourceLoader
- Parameters:
name
- the name- Returns:
- the path or
null
if the library is not present
-
getPaths
public java.util.Collection<java.lang.String> 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
- Returns:
- the resource paths
-
close
public void close()
Description copied from interface:ResourceLoader
Closes this resource, relinquishing any underlying resources. This method is invoked automatically on objects managed by thetry
-with-resources statement.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceResourceLoader
-
getLocation
public java.net.URI 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
- Returns:
- the base location of the resources in this loader, or
null
if not available
-
-