com.bradmcevoy.http
Interface ResourceFactory

All Known Implementing Classes:
ClassPathResourceFactory, FckResourceFactory, MultipleResourceFactory

public interface ResourceFactory

Implementations of ResourceFactory translate URLs to instances of Resource

Author:
brad

Method Summary
 Resource getResource(java.lang.String host, java.lang.String path)
          Locate an instance of a resource at the given url and on the given host.
 

Method Detail

getResource

Resource getResource(java.lang.String host,
                     java.lang.String path)
Locate an instance of a resource at the given url and on the given host.

The host argument can be used for applications which implement virtual domain hosting. But portable applications (ie those which do not depend on the host name) should ignore the host argument.

Note that the host will include the port number if it was specified in the request

The path argument is just the part of the request url with protocol, host, port number, and request parameters removed

E.g. for a request

http://milton.ettrema.com:80/downloads/index.html?ABC=123
the corresponding arguments will be:
   host: milton.ettrema.com:80
   path: /downloads/index.html
 
Note that your implementation should not be sensitive to trailing slashes E.g. these paths should return the same resource /apath and /apath/

Return null if there is no associated Resource object.

You should generally avoid using any request information other then that provided in the method arguments. But if you find you need to you can access the request and response objects from HttpManager.request() and HttpManager.response()

Parameters:
host - Full host name with port number, e.g. milton.ettrema.com:80
path - Relative path on server, e.g. /downloads/index.html
Returns:
the associated Resource object, or null if there is none.


Copyright © 2011. All Rights Reserved.