com.uwyn.rife.resources
Class AbstractResourceFinder

java.lang.Object
  extended by com.uwyn.rife.resources.AbstractResourceFinder
All Implemented Interfaces:
ResourceFinder
Direct Known Subclasses:
ResourceFinderClasspath, ResourceFinderDirectories, ResourceFinderGroup

public abstract class AbstractResourceFinder
extends Object
implements ResourceFinder

This abstract class offers common implementations of several ResourceFinder methods. This makes it easier to implement specific ResourceFinder classes.

All method implementations here accept resource specification as names and correctly defer the actual logic to the methods that accept resource specification as URLs.

Since:
1.0
Version:
$Revision: 3634 $
Author:
Geert Bevin (gbevin[remove] at uwyn dot com)
See Also:
ResourceFinder

Constructor Summary
AbstractResourceFinder()
           
 
Method Summary
 String getContent(String name)
          Retrieves the complete content of the resource that corresponds to the provided name.
 String getContent(String name, String encoding)
          Retrieves the complete content of the resource that corresponds to the provided name.
 String getContent(URL resource)
          Retrieves the complete content of the provided resource.
 long getModificationTime(String name)
          Retrieves the modification time of the resource that corresponds to the provided name.
<ResultType>
ResultType
useStream(String name, InputStreamUser user)
          Returns a stream that can be used to read the contents of the resource that corresponds to the provided name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.uwyn.rife.resources.ResourceFinder
getContent, getModificationTime, getResource, useStream
 

Constructor Detail

AbstractResourceFinder

public AbstractResourceFinder()
Method Detail

useStream

public <ResultType> ResultType useStream(String name,
                                         InputStreamUser user)
                     throws ResourceFinderErrorException,
                            InnerClassException
Description copied from interface: ResourceFinder
Returns a stream that can be used to read the contents of the resource that corresponds to the provided name.

Specified by:
useStream in interface ResourceFinder
Parameters:
name - the name of the resource to retrieve
user - an instance of InputStreamUser that contains the logic that will be executed with this stream
Returns:
the return value from the useInputStream method of the provided InputStreamUser instance
Throws:
ResourceFinderErrorException - when an error occurred during the creation or opening of the stream.
InnerClassException - when errors occurs inside the InputStreamUser
See Also:
InputStreamUser, ResourceFinder.useStream(URL, InputStreamUser)

getContent

public String getContent(String name)
                  throws ResourceFinderErrorException
Description copied from interface: ResourceFinder
Retrieves the complete content of the resource that corresponds to the provided name. The content will be read into a string by using the platform's default encoding.

Specified by:
getContent in interface ResourceFinder
Parameters:
name - the name of the resource to retrieve
Returns:
a String object that contains the complete content of the resource with the provided name; or

null if the resource couldn't be found.

Throws:
ResourceFinderErrorException - when an error occurred during the retrieval of the content.
See Also:
ResourceFinder.getContent(String, String), ResourceFinder.getContent(URL, String)

getContent

public String getContent(String name,
                         String encoding)
                  throws ResourceFinderErrorException
Description copied from interface: ResourceFinder
Retrieves the complete content of the resource that corresponds to the provided name.

Specified by:
getContent in interface ResourceFinder
Parameters:
name - the name of the resource to retrieve the content from
encoding - 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; or

null if 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:
ResourceFinder.getContent(String), ResourceFinder.getContent(URL), ResourceFinder.getContent(URL, String)

getContent

public String getContent(URL resource)
                  throws ResourceFinderErrorException
Description copied from interface: ResourceFinder
Retrieves the complete content of the provided resource. The content will be read into a string by using the platform's default encoding.

Specified by:
getContent in interface ResourceFinder
Parameters:
resource - the resource to retrieve the content from
Returns:
a String object that contains the complete content of the resource with the provided name; or

null if 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:
ResourceFinder.getContent(String), ResourceFinder.getContent(String, String), ResourceFinder.getContent(URL, String)

getModificationTime

public long getModificationTime(String name)
                         throws ResourceFinderErrorException
Description copied from interface: ResourceFinder
Retrieves the modification time of the resource that corresponds to the provided name.

Specified by:
getModificationTime in interface ResourceFinder
Parameters:
name - the name of the resource to retrieve
Returns:
a positive long with the modification time in milliseconds; or

-1 if the resource couldn't be found.

Throws:
ResourceFinderErrorException - when an error occurred during the retrieval of the modification time.
See Also:
ResourceFinder.getModificationTime(URL)


Copyright © 2001-2007 Uwyn sprl/bvba. All Rights Reserved.