com.bradmcevoy.http
Class MultipleResourceFactory
java.lang.Object
com.bradmcevoy.http.MultipleResourceFactory
- All Implemented Interfaces:
- ResourceFactory
public class MultipleResourceFactory
- extends java.lang.Object
- implements ResourceFactory
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
factories
protected final java.util.List<ResourceFactory> factories
mapOfFactoriesByHost
protected java.util.Map<java.lang.String,ResourceFactory> mapOfFactoriesByHost
MultipleResourceFactory
public MultipleResourceFactory()
MultipleResourceFactory
public MultipleResourceFactory(java.util.List<ResourceFactory> factories)
getResource
public Resource getResource(java.lang.String host,
java.lang.String url)
- Description copied from interface:
ResourceFactory
- 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()
- Specified by:
getResource in interface ResourceFactory
- Parameters:
host - Full host name with port number, e.g. milton.ettrema.com:80url - Relative path on server, e.g. /downloads/index.html
- Returns:
- the associated Resource object, or null if there is none.
getMapOfFactoriesByHost
public java.util.Map<java.lang.String,ResourceFactory> getMapOfFactoriesByHost()
- When set will always be used exclusively for any matching hosts
- Returns:
setMapOfFactoriesByHost
public void setMapOfFactoriesByHost(java.util.Map<java.lang.String,ResourceFactory> mapOfFactoriesByHost)
Copyright © 2011. All Rights Reserved.