Package rife.resources
Class ResourceFinderClasspath
java.lang.Object
rife.resources.AbstractResourceFinder
rife.resources.ResourceFinderClasspath
- All Implemented Interfaces:
ResourceFinder
This class offers
ResourceFinder capabilities for resources that
are available through the classloader. This is done for directories as well
as for jar files. Basically, this corresponds to the resources that are
available through the classpath.
Since the application's classloader isn't supposed to change in a global way,
the ResourceFinderClasspath class can only be instantiated
through the static instance() method that always returns
the same instance as a singleton.
- Since:
- 1.0
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetContent(URL resource, String encoding) Retrieves the complete content of the provided resource.longgetModificationTime(URL resource) Retrieves the modification time of the provided resource.getResource(String name) Retrieves the resource that corresponds to the provided name.static ResourceFinderClasspathinstance()Returns the shared singleton instance of theResourceFinderClasspathclass.<ResultType>
ResultTypeuseStream(URL resource, InputStreamUser<ResultType, ?> user) Returns a stream that can be used to read the contents of the provided resource.Methods inherited from class rife.resources.AbstractResourceFinder
getContent, getContent, getContent, getModificationTime, useStream
-
Constructor Details
-
ResourceFinderClasspath
protected ResourceFinderClasspath()
-
-
Method Details
-
instance
Returns the shared singleton instance of theResourceFinderClasspathclass.- Returns:
- the singleton
ResourceFinderClasspathinstance - Since:
- 1.0
-
getResource
Description copied from interface:ResourceFinderRetrieves the resource that corresponds to the provided name.This method never throws an exception, but returns
nullin case of an exception.- Parameters:
name- the name of the resource to retrieve- Returns:
- the
URLobject that corresponds to the provided name; ornullif the resource couldn't be found or if an error occurred.
-
useStream
public <ResultType> ResultType useStream(URL resource, InputStreamUser<ResultType, ?> user) throws ResourceFinderErrorException, InnerClassExceptionDescription copied from interface:ResourceFinderReturns a stream that can be used to read the contents of the provided resource.- Parameters:
resource- the resource to retrieveuser- an instance ofInputStreamUserthat contains the logic that will be executed with this stream- Returns:
- the return value from the
useInputStreammethod of the providedInputStreamUserinstance - Throws:
ResourceFinderErrorException- when an error occurred during the creation or opening of the stream.InnerClassException- when errors occurs inside theInputStreamUser- See Also:
-
getContent
Description copied from interface:ResourceFinderRetrieves the complete content of the provided resource.- Parameters:
resource- the resource to retrieve the content fromencoding- the encoding that should be used to read the content- Returns:
- a
Stringobject that contains the complete content of the resource with the provided name; ornullif the resource couldn't be found. - Throws:
ResourceFinderErrorException- when an error occurred during the retrieval of the content or when the encoding is not supported.- See Also:
-
getModificationTime
Description copied from interface:ResourceFinderRetrieves the modification time of the provided resource.- Parameters:
resource- the resource to retrieve the modification time from- Returns:
- a positive
longwith the modification time in milliseconds; or-1if the resource couldn't be found. - Throws:
ResourceFinderErrorException- when an error occurred during the retrieval of the modification time.- See Also:
-