Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.portlet
Class GenericPortlet

    java.lang.Object
      javax.portlet.GenericPortlet

All Implemented Interfaces:
  Portlet

Direct Known Subclasses:
  AbstractWidgetPortlet, CharsetPortlet, CMSContentEditorPortlet, CMSPortlet, CounterPortlet, EncodingPortlet, EventPortlet, ExceptionPortlet, FileUploadPortlet, FormAutoSubmitPortlet, FSContentDrivenPortlet, HeaderContentPortlet, JSPPortlet, NewsPortlet, PHPPortlet, PortletA, PortletB, PortletContentEditorPortlet, PortletSessionPortlet, URLPortlet, WeatherPortlet, WindowIDPortlet

    public abstract class GenericPortlet

extends java.lang.Object
implements Portlet

The `GenericPortlet` class provides a default implementation for the `Portlet` interface.

It provides an abstract class to be subclassed to create portlets. A subclass of `GenericPortlet` should override at least one method, usually one of the following:

- processAction, to handle action requests
- doView, to handle render requests when in VIEW mode
- doEdit, to handle render requests when in EDIT mode
- doHelp, to handle render request when in HELP mode
- init and destroy, to manage resources that are held for the life of the servlet

Normally there is no need to override the render or the doDispatch methods. Render handles render requests setting the title of the portlet in the response and invoking doDispatch. doDispatch dispatches the request to one of the doView, doEdit or doHelp method depending on the portlet mode indicated in the request.

Portlets typically run on multithreaded servers, so please note that a portlet must handle concurrent requests and be careful to synchronize access to shared resources. Shared resources include in-memory data such as instance or class variables and external objects such as files, database connections, and network connections.

Version:
  $Revision: 5441 $
Author:
  Julien Viet

Constructor Summary
`protected` | `GenericPortlet()` Does nothing.

Method Summary
`void` | `destroy()` Called by the portlet container to indicate to a portlet that the portlet is being taken out of service.
`protected void` | `doDispatch(RenderRequest request, RenderResponse response)` The default implementation of this method routes the render request to a set of helper methods depending on the current portlet mode the portlet is currently in.
`protected void` | `doEdit(RenderRequest request, RenderResponse response)` Helper method to serve up the `edit` mode.
`protected void` | `doHelp(RenderRequest request, RenderResponse response)` Helper method to serve up the `help` mode.
`protected void` | `doView(RenderRequest request, RenderResponse response)` Helper method to serve up the mandatory `view` mode.
`java.lang.String` | `getInitParameter(java.lang.String name)` Returns a String containing the value of the named initialization parameter, or null if the parameter does not exist.
`java.util.Enumeration` | `getInitParameterNames()` Returns the names of the portlet initialization parameters as an Enumeration of String objects, or an empty Enumeration if the portlet has no initialization parameters.
`PortletConfig` | `getPortletConfig()` Returns the PortletConfig object of this portlet.
`PortletContext` | `getPortletContext()` Returns the `PortletContext` of the portlet application the portlet is in.
`java.lang.String` | `getPortletName()` Returns the name of this portlet.
`java.util.ResourceBundle` | `getResourceBundle(java.util.Locale locale)` Gets the resource bundle for the given locale based on the resource bundle defined in the deployment descriptor with `resource-bundle` tag or the inlined resources defined in the deployment descriptor.
`protected java.lang.String` | `getTitle(RenderRequest request)` Used by the render method to get the title.
`void` | `init()` A convenience method which can be overridden so that there's no need to call `super.init(config)`.
`void` | `init(PortletConfig config)` Called by the portlet container to indicate to a portlet that the portlet is being placed into service.
`void` | `processAction(ActionRequest request, ActionResponse response)` Called by the portlet container to allow the portlet to process an action request.
`void` | `render(RenderRequest request, RenderResponse response)` The default implementation of this method sets the title using the `getTitle` method and invokes the `doDispatch` method.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GenericPortlet

    protected GenericPortlet()

  Does nothing.

Method Detail

### init

    public void init()
              throws PortletException

  A convenience method which can be overridden so that there's no need to call `super.init(config)`.

  Instead of overriding `init(PortletConfig)`, simply override this method and it will be called by `GenericPortlet.init(PortletConfig config)`. The `PortletConfig` object can still be retrieved via `getPortletConfig()`.

  Throws:
    `PortletException` - if an exception has occurred that interferes with the portlet normal operation.
    `UnavailableException` - if the portlet is unavailable to perform init

### getPortletConfig

    public PortletConfig getPortletConfig()

  Returns the PortletConfig object of this portlet.

  Returns:
    the PortletConfig object of this portlet

### getPortletName

    public java.lang.String getPortletName()

  Returns the name of this portlet.

  Returns:
    the portlet name
  See Also:
    `PortletConfig.getPortletName()`

### getPortletContext

    public PortletContext getPortletContext()

  Returns the `PortletContext` of the portlet application the portlet is in.

  Returns:
    the portlet application context

### doDispatch

    protected void doDispatch(RenderRequest request,
                              RenderResponse response)
                       throws PortletException,
                              PortletSecurityException,
                              java.io.IOException

  The default implementation of this method routes the render request to a set of helper methods depending on the current portlet mode the portlet is currently in. These methods are:
  - `doView` for handling `view` requests
  - `doEdit` for handling `edit` requests
  - `doHelp` for handling `help` requests

  If the window state of this portlet is `minimized`, this method does not invoke any of the portlet mode rendering methods.

  For handling custom portlet modes the portlet should override this method.

  Parameters:
    `request` - the render request
    `response` - the render response
  Throws:
    `PortletException` - if the portlet cannot fulfilling the request
    `UnavailableException` - if the portlet is unavailable to perform render at this time
    `PortletSecurityException` - if the portlet cannot fullfill this request because of security reasons
    `java.io.IOException` - if the streaming causes an I/O problem
  See Also:
    `doView(RenderRequest,RenderResponse)`, `doEdit(RenderRequest,RenderResponse)`, `doHelp(RenderRequest,RenderResponse)`

### doView

    protected void doView(RenderRequest request,
                          RenderResponse response)
                   throws PortletException,
                          PortletSecurityException,
                          java.io.IOException

  Helper method to serve up the mandatory `view` mode.

  The default implementation throws an exception.

  Parameters:
    `request` - the portlet request
    `response` - the render response
  Throws:
    `PortletException` - if the portlet cannot fulfilling the request
    `UnavailableException` - if the portlet is unavailable to perform render at this time
    `PortletSecurityException` - if the portlet cannot fullfill this request because of security reasons
    `java.io.IOException` - if the streaming causes an I/O problem

### doHelp

    protected void doHelp(RenderRequest request,
                          RenderResponse response)
                   throws PortletException,
                          PortletSecurityException,
                          java.io.IOException

  Helper method to serve up the `help` mode.

  The default implementation throws an exception.

  Parameters:
    `request` - the portlet request
    `response` - the render response
  Throws:
    `PortletException` - if the portlet cannot fulfilling the request
    `UnavailableException` - if the portlet is unavailable to perform render at this time
    `PortletSecurityException` - if the portlet cannot fullfill this request because of security reasons
    `java.io.IOException` - if the streaming causes an I/O problem

### doEdit

    protected void doEdit(RenderRequest request,
                          RenderResponse response)
                   throws PortletException,
                          PortletSecurityException,
                          java.io.IOException

  Helper method to serve up the `edit` mode.

  The default implementation throws an exception.

  Parameters:
    `request` - the portlet request
    `response` - the render response
  Throws:
    `PortletException` - if the portlet cannot fulfilling the request
    `UnavailableException` - if the portlet is unavailable to perform render at this time
    `PortletSecurityException` - if the portlet cannot fullfill this request because of security reasons
    `java.io.IOException` - if the streaming causes an I/O problem

### getResourceBundle

    public java.util.ResourceBundle getResourceBundle(java.util.Locale locale)

  Gets the resource bundle for the given locale based on the resource bundle defined in the deployment descriptor with `resource-bundle` tag or the inlined resources defined in the deployment descriptor.

  Returns:
    the resource bundle for the given locale

### getTitle

    protected java.lang.String getTitle(RenderRequest request)

  Used by the render method to get the title.

  The default implementation gets the title from the ResourceBundle of the PortletConfig of the portlet. The title is retrieved using the 'javax.portlet.title' resource name.

  Portlets can overwrite this method to provide dynamic titles (e.g. based on locale, client, and session information). Examples are:
  - language-dependant titles for multi-lingual portals
  - shorter titles for WAP phones
  - the number of messages in a mailbox portlet

  Returns:
    the portlet title for this window

### getInitParameter

    public java.lang.String getInitParameter(java.lang.String name)
                                      throws java.lang.IllegalArgumentException

  Returns a String containing the value of the named initialization parameter, or null if the parameter does not exist.

  Parameters:
    `name` - a `String` specifying the name of the initialization parameter
  Returns:
    a `String` containing the value of the initialization parameter
  Throws:
    `java.lang.IllegalArgumentException` - if name is `null`.

### getInitParameterNames

    public java.util.Enumeration getInitParameterNames()

  Returns the names of the portlet initialization parameters as an Enumeration of String objects, or an empty Enumeration if the portlet has no initialization parameters.

  Returns:
    an `Enumeration` of `String` objects containing the names of the portlet initialization parameters, or an empty Enumeration if the portlet has no initialization parameters.

### init

    public void init(PortletConfig config)
              throws PortletException

  Called by the portlet container to indicate to a portlet that the portlet is being placed into service.

  The default implementation just stores the `PortletConfig` object.

  The portlet container calls the `init` method exactly once after instantiating the portlet. The `init` method must complete successfully before the portlet can receive any requests.

  The portlet container cannot place the portlet into service if the `init` method does one of the following:

  1. it throws a `PortletException`
  2. it does not return within a time period defined by the Web server

  Specified by:
    `init` in interface `Portlet`
  Parameters:
    `config` - a `PortletConfig` object containing the portlet configuration and initialization parameters
  Throws:
    `PortletException` - if an exception has occurred that interferes with the portlet normal operation.
    `UnavailableException` - if the portlet cannot perform the initialization at this time.

### processAction

    public void processAction(ActionRequest request,
                              ActionResponse response)
                       throws PortletException,
                              PortletSecurityException,
                              java.io.IOException

  Called by the portlet container to allow the portlet to process an action request. This method is called if the client request was originated by a URL created (by the portlet) with the `RenderResponse.createActionURL()` method.

  The default implementation throws an exception.

  Specified by:
    `processAction` in interface `Portlet`
  Parameters:
    `request` - the action request
    `response` - the action response
  Throws:
    `PortletException` - if the portlet cannot fulfilling the request
    `UnavailableException` - if the portlet is unavailable to process the action at this time
    `PortletSecurityException` - if the portlet cannot fullfill this request because of security reasons
    `java.io.IOException` - if the streaming causes an I/O problem

### render

    public void render(RenderRequest request,
                       RenderResponse response)
                throws PortletException,
                       PortletSecurityException,
                       java.io.IOException

  The default implementation of this method sets the title using the `getTitle` method and invokes the `doDispatch` method.

  Specified by:
    `render` in interface `Portlet`
  Parameters:
    `request` - the render request
    `response` - the render response
  Throws:
    `PortletException` - if the portlet cannot fulfilling the request
    `UnavailableException` - if the portlet is unavailable to perform render at this time
    `PortletSecurityException` - if the portlet cannot fullfill this request because of security reasons
    `java.io.IOException` - if the streaming causes an I/O problem

### destroy

    public void destroy()

  Called by the portlet container to indicate to a portlet that the portlet is being taken out of service.

  The default implementation does nothing.

  Specified by:
    `destroy` in interface `Portlet`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD