org.sapia.resource
Class FileResourceHandler

java.lang.Object
  extended by org.sapia.resource.FileResourceHandler
All Implemented Interfaces:
ResourceHandler, Schemes

public class FileResourceHandler
extends java.lang.Object
implements ResourceHandler, Schemes

Resolves resources from the file system.

 FileResourceHandler handler = new FileResourceHandler();
 
 // resolving a file URL
 InputStream is = handler.getResource("file:/opt/some/file.txt");
 
  // resolving an absolute path
  InputStream is = handler.getResource("/opt/some/file.txt");
 
  // resolving a relative path (assuming current dir is /opt)
  InputStream is = handler.getResource("some/file.txt");
 
  
 

Author:
Yanick Duchesne
See Also:
FileResource

Field Summary
 
Fields inherited from interface org.sapia.resource.Schemes
SCHEME_FILE, SCHEME_FTP, SCHEME_HTTP, SCHEME_RESOURCE
 
Constructor Summary
FileResourceHandler()
           
 
Method Summary
 boolean accepts(java.lang.String uri)
          Returns true if this handler "recognizes" resources with the given URI.
 boolean accepts(java.net.URI uri)
           
 java.io.File getFile(java.lang.String uri)
           
 java.io.InputStream getResource(java.lang.String uri)
          Returns the stream corresponding to the given URI.
 Resource getResourceObject(java.lang.String uri)
          Returns the resource object corresponding to the given URI.
 void setBasedir(java.lang.String basedir)
          Sets the directory from which relative paths should be evaluated.
 void setFallBackToClasspath(boolean fallback)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileResourceHandler

public FileResourceHandler()
Method Detail

getResourceObject

public Resource getResourceObject(java.lang.String uri)
                           throws java.io.IOException
Description copied from interface: ResourceHandler
Returns the resource object corresponding to the given URI.

Specified by:
getResourceObject in interface ResourceHandler
Parameters:
uri - a URI.
Returns:
a Resource.
Throws:
java.io.IOException - if a problem occurs.

getFile

public java.io.File getFile(java.lang.String uri)
                     throws java.io.IOException
Parameters:
uri - a URI.
Returns:
the File corresponding to the given URI.
Throws:
java.io.IOException

getResource

public java.io.InputStream getResource(java.lang.String uri)
                                throws java.io.IOException
Description copied from interface: ResourceHandler
Returns the stream corresponding to the given URI.

Specified by:
getResource in interface ResourceHandler
Parameters:
uri - a URI.
Returns:
an InputStream.
Throws:
ResourceNotFoundException - if a resource corresponding to the URI could does not exist.
java.io.IOException - if a problem occurs.

setFallBackToClasspath

public void setFallBackToClasspath(boolean fallback)
Parameters:
fallback - if true, this instance will resort to looking up the classpath if it cannot find a resource on the file system.

setBasedir

public void setBasedir(java.lang.String basedir)
Sets the directory from which relative paths should be evaluated.

Parameters:
basedir - the path to a directory

accepts

public boolean accepts(java.lang.String uri)
Description copied from interface: ResourceHandler
Returns true if this handler "recognizes" resources with the given URI. This methods is used to hold resource handlers in a chain of responsability.

Specified by:
accepts in interface ResourceHandler
Parameters:
uri - a URI.
Returns:
true if this handler can handle resources with the given URI.

accepts

public boolean accepts(java.net.URI uri)
Specified by:
accepts in interface ResourceHandler
Parameters:
uri - a URI.
Returns:
true if this handler can handle resources with the given URI.
See Also:
ResourceHandler.accepts(String)


Copyright © 2011 Sapia OSS. All Rights Reserved.