org.springframework.web.portlet.handler

## Class PortletContentGenerator

- java.lang.Object
- - org.springframework.context.support.ApplicationObjectSupport
  - - org.springframework.web.portlet.context.PortletApplicationObjectSupport
    - - org.springframework.web.portlet.handler.PortletContentGenerator

All Implemented Interfaces:
  Aware, ApplicationContextAware, PortletContextAware

Direct Known Subclasses:
  AbstractController, AnnotationMethodHandlerAdapter

    public abstract class PortletContentGenerator
    extends PortletApplicationObjectSupport

Convenient superclass for any kind of web content generator, like `AbstractController`. Can also be used for custom handlers that have their own `HandlerAdapter`.

Supports portlet cache control options.

Since:
  2.0
Author:
  Juergen Hoeller, John A. Lewis
See Also:
  `setCacheSeconds(int)`, `setRequireSession(boolean)`

### Field Summary

### Fields inherited from class org.springframework.context.support.ApplicationObjectSupport

`logger`

### Constructor Summary

Constructors
Constructor and Description
`PortletContentGenerator()`

### Method Summary

Methods
`protected void` `applyCacheSeconds(MimeResponse response, int seconds)` Apply the given cache seconds to the render response
`protected void` `cacheForSeconds(MimeResponse response, int seconds)` Set portlet response to allow caching for the given number of seconds.
`protected void` `check(PortletRequest request, PortletResponse response)` Check and prepare the given request and response according to the settings of this generator.
`protected void` `checkAndPrepare(PortletRequest request, MimeResponse response)` Check and prepare the given request and response according to the settings of this generator.
`protected void` `checkAndPrepare(PortletRequest request, MimeResponse response, int cacheSeconds)` Check and prepare the given request and response according to the settings of this generator.
`int` `getCacheSeconds()` Return the number of seconds that content is cached.
`boolean` `isRequireSession()` Return whether a session is required to handle requests.
`protected void` `preventCaching(MimeResponse response)` Prevent the render response from being cached.
`void` `setCacheSeconds(int seconds)` Cache content for the given number of seconds.
`void` `setRequireSession(boolean requireSession)` Set whether a session should be required to handle requests.

### Methods inherited from class org.springframework.web.portlet.context.PortletApplicationObjectSupport

`getPortletContext, getTempDir, isContextRequired, setPortletContext`

### Methods inherited from class org.springframework.context.support.ApplicationObjectSupport

`getApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, requiredContextClass, setApplicationContext`

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

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

### Constructor Detail

#### PortletContentGenerator

    public PortletContentGenerator()

### Method Detail

#### setRequireSession

    public final void setRequireSession(boolean requireSession)

Set whether a session should be required to handle requests.

#### isRequireSession

    public final boolean isRequireSession()

Return whether a session is required to handle requests.

#### setCacheSeconds

    public final void setCacheSeconds(int seconds)

Cache content for the given number of seconds. Default is -1, indicating no override of portlet content caching.

Only if this is set to 0 (no cache) or a positive value (cache for this many seconds) will this class override the portlet settings.

The cache setting can be overwritten by subclasses, before content is generated.

#### getCacheSeconds

    public final int getCacheSeconds()

Return the number of seconds that content is cached.

#### check

    protected final void check(PortletRequest request,
             PortletResponse response)
                        throws PortletException

Check and prepare the given request and response according to the settings of this generator. Checks for a required session, and applies the number of cache seconds configured for this generator (if it is a render request/response).

Parameters:
  `request` - current portlet request
  `response` - current portlet response
Throws:
  `PortletException` - if the request cannot be handled because a check failed

#### checkAndPrepare

    protected final void checkAndPrepare(PortletRequest request,
                       MimeResponse response)
                                  throws PortletException

Check and prepare the given request and response according to the settings of this generator. Checks for a required session, and applies the number of cache seconds configured for this generator (if it is a render request/response).

Parameters:
  `request` - current portlet request
  `response` - current portlet response
Throws:
  `PortletException` - if the request cannot be handled because a check failed

#### checkAndPrepare

    protected final void checkAndPrepare(PortletRequest request,
                       MimeResponse response,
                       int cacheSeconds)
                                  throws PortletException

Check and prepare the given request and response according to the settings of this generator. Checks for a required session, and applies the given number of cache seconds (if it is a render request/response).

Parameters:
  `request` - current portlet request
  `response` - current portlet response
  `cacheSeconds` - positive number of seconds into the future that the response should be cacheable for, 0 to prevent caching
Throws:
  `PortletException` - if the request cannot be handled because a check failed

#### preventCaching

    protected final void preventCaching(MimeResponse response)

Prevent the render response from being cached.

#### cacheForSeconds

    protected final void cacheForSeconds(MimeResponse response,
                       int seconds)

Set portlet response to allow caching for the given number of seconds.

Parameters:
  `response` - current portlet render response
  `seconds` - number of seconds into the future that the response should be cacheable for

#### applyCacheSeconds

    protected final void applyCacheSeconds(MimeResponse response,
                         int seconds)

Apply the given cache seconds to the render response

Parameters:
  `response` - current portlet render response
  `seconds` - positive number of seconds into the future that the response should be cacheable for, 0 to prevent caching