org.simpleframework.http.resource

## Class ResourceContainer

- java.lang.Object
- - org.simpleframework.http.resource.ResourceContainer

All Implemented Interfaces:
  Container

    public class ResourceContainer
    extends java.lang.Object
    implements Container

The `ResourceContainer` is an implementation of the `Container` interface for handling an arbitrary set of resources. This container will accept any HTTP transaction and delegate the processing of that transation to a resource. This resolves the resource to use using an implementation of the `ResourceEngine` interface.

This provides a very simple means to manage individual targets using separate resource implementations. It also provides an ideal location to introduce path mapping functionality.

Author:
  Niall Gallagher

### Constructor Summary

Constructors
Constructor and Description
`ResourceContainer(ResourceEngine engine)` Constructor for the `ResourceContainer` object.

### Method Summary

Methods
`void` `handle(Request req, Response resp)` This method is where most of the work is done to retrieve the `Resource` and process the HTTP request.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ResourceContainer

    public ResourceContainer(ResourceEngine engine)

Constructor for the `ResourceContainer` object. This requires a resource engine which it uses to map the request targets to a given implementation or instance. This is essentially a router to the `Resource` objects that have been mapped to a given request path.

Parameters:
  `engine` - the engine used to resolve resources

### Method Detail

#### handle

    public void handle(Request req,
              Response resp)

This method is where most of the work is done to retrieve the `Resource` and process the HTTP request. This will basically use the `resolve` method of the issued `ResourceEngine` to acquire resources.

Specified by:
  `handle` in interface `Container`
Parameters:
  `req` - the `Request` to be processed
  `resp` - the `Response` to be processed