Package rife.resources
Class MemoryResources
java.lang.Object
rife.resources.AbstractResourceFinder
rife.resources.MemoryResources
- All Implemented Interfaces:
ResourceFinder
,ResourceWriter
This class offers
ResourceFinder
and ResourceWriter
capabilities for resources that are stored in a memory.- Since:
- 1.0
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addResource
(String name, String content) Adds a resource with the provided name and content.getContent
(URL resource, String encoding) Retrieves the complete content of the provided resource.long
getModificationTime
(URL resource) Retrieves the modification time of the provided resource.getResource
(String name) Retrieves the resource that corresponds to the provided name.boolean
removeResource
(String name) Removes the resource with the provided name.boolean
updateResource
(String name, String content) Updates the content of the resource with the provided name.<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
-
MemoryResources
public MemoryResources()Creates a new instance.- Since:
- 1.0
-
-
Method Details
-
addResource
Description copied from interface:ResourceWriter
Adds a resource with the provided name and content.- Specified by:
addResource
in interfaceResourceWriter
- Parameters:
name
- the name of the resourcecontent
- the content of the resource
-
updateResource
Description copied from interface:ResourceWriter
Updates the content of the resource with the provided name.- Specified by:
updateResource
in interfaceResourceWriter
- Parameters:
name
- the name of the resourcecontent
- the content of the resource- Returns:
true
when the resource was updated;false
otherwise
-
removeResource
Description copied from interface:ResourceWriter
Removes the resource with the provided name.- Specified by:
removeResource
in interfaceResourceWriter
- Parameters:
name
- the name of the resource- Returns:
true
when the resource was removed;false
otherwise
-
getResource
Description copied from interface:ResourceFinder
Retrieves the resource that corresponds to the provided name.This method never throws an exception, but returns
null
in case of an exception.- Specified by:
getResource
in interfaceResourceFinder
- Parameters:
name
- the name of the resource to retrieve- Returns:
- the
URL
object that corresponds to the provided name; ornull
if 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:ResourceFinder
Returns a stream that can be used to read the contents of the provided resource.- Specified by:
useStream
in interfaceResourceFinder
- Parameters:
resource
- the resource to retrieveuser
- an instance ofInputStreamUser
that contains the logic that will be executed with this stream- Returns:
- the return value from the
useInputStream
method of the providedInputStreamUser
instance - 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:ResourceFinder
Retrieves the complete content of the provided resource.- Specified by:
getContent
in interfaceResourceFinder
- Parameters:
resource
- the resource to retrieve the content fromencoding
- the encoding that should be used to read the content- Returns:
- a
String
object that contains the complete content of the resource with the provided name; ornull
if the resource couldn't be found. - See Also:
-
getModificationTime
Description copied from interface:ResourceFinder
Retrieves the modification time of the provided resource.- Specified by:
getModificationTime
in interfaceResourceFinder
- Parameters:
resource
- the resource to retrieve the modification time from- Returns:
- a positive
long
with the modification time in milliseconds; or-1
if the resource couldn't be found. - See Also:
-