Interface ResourceEngine


public interface ResourceEngine
The ResourceEngine is used to create implementations of the Resource interface that suit the targeted resource. Different Resource objects may be needed to handle different files/directories or even applications. The request URI specified must be a HTTP request URI as of RFC 2616.

The meaning of HTTP URI in this instance is the request URI from a HTTP/x.x request, as RFC 2616 and RFC 2396 defines it

 
 Request-Line = Method SP Request-URI SP HTTP-Version CRLF

 Request-URI = "*" | absoluteURI | abs_path | authority
 absoluteURI = "http:" "//" host [":" port] [abs_path ["?" query]] 
 abs_path = "/" path_segments         
 path_segments = segment *( "/" segment )
 
The ResourceEngine object must be prepared to accept the request URI that come in the form outlined above. These can include formats like
 
 http://some.host/pub;param=value/bin/index.html?name=value
 http://some.host:8080/index.en_US.html
 some.host:8080/index.html
 /usr/bin;param=value/README.txt
 /usr/bin/compress.tar.gz
 
The ResourceEngine implementation should be able to directly take a Request-URI as defined in RFC 2616 and translate this into a Resource. This keeps the objects semantics simple and explicit, although at the expense of performance.
Author:
Niall Gallagher
  • Method Summary

    Modifier and Type
    Method
    Description
    resolve(Address target)
    This will look for and retrieve the requested resource.
  • Method Details

    • resolve

      Resource resolve(Address target)
      This will look for and retrieve the requested resource. The target given must be in the form of a request URI. This will locate the resource and return the Resource implementation that will handle the target.
      Parameters:
      target - the address used to identify the resource
      Returns:
      this returns the resource used to handle the request