simple.http.serve
Interface Resource

All Known Implementing Classes:
Action, Component, Controller, Process, Redirect, Service, View

public interface Resource

A Resource provides an abstraction of any given object that can be retrieved using a HTTP request. The reason for having this abstraction is to simplify the interface with any given Resource.

This is a ProtocolHandler and as such handles the entire transaction. This means that the HTTP response message is entirely managed by the Resource.

Author:
Niall Gallagher

Method Summary
 void handle(Request req, Response resp)
          This acts as the main processing method for the resources.
 void handle(Request req, Response resp, int code)
          When an error occurs while processing the HTTP request then this method will handle the error according to the suggested code.
 void handle(Request req, Response resp, Report report)
          This is used to generate a formatted message using a report to describe the change in status.
 

Method Detail

handle

void handle(Request req,
            Response resp)
This acts as the main processing method for the resources. Implementations are required to provide the functions that will process the Request and generate a suitable response for that request. This method is also responsible for closing and comitting the Response unless handed (chained) to another Resource.

Parameters:
req - the Request to be processed
resp - the Response to be processed

handle

void handle(Request req,
            Response resp,
            int code)
When an error occurs while processing the HTTP request then this method will handle the error according to the suggested code. The code represents the HTTP response code that caused the error. Any implementation of the Resource must be able to handle a valid HTTP response message.

Parameters:
req - the Request to be processed
resp - the Response to be processed
code - this is the HTTP status code of the response

handle

void handle(Request req,
            Response resp,
            Report report)
This is used to generate a formatted message using a report to describe the change in status. This uses the Report object to prepare a formatted message that can be presented to the client. This message will describe the status using the issued Report object. This is provided so that implementations have an convinient means to report errors.

Parameters:
req - the Request object to be processed
resp - the Response object to be processed
report - this is used to describe the change in status