javax.portlet
Class GenericPortlet
java.lang.Object
javax.portlet.GenericPortlet
- Portlet, PortletConfig
public abstract class GenericPortlet
extends java.lang.Object
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.
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.
|
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.
|
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.
|
GenericPortlet
public GenericPortlet()
Does nothing.
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.
- destroy in interface Portlet
doDispatch
protected void doDispatch(RenderRequest request,
RenderResponse response)
throws PortletException,
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.
request
- the render requestresponse
- the render response
doEdit
protected void doEdit(RenderRequest request,
RenderResponse response)
throws PortletException,
java.io.IOException
Helper method to serve up the
edit
mode.
The default implementation throws an exception.
request
- the portlet requestresponse
- the render response
doHelp
protected void doHelp(RenderRequest request,
RenderResponse response)
throws PortletException,
java.io.IOException
Helper method to serve up the
help
mode.
The default implementation throws an exception.
request
- the portlet requestresponse
- the render response
doView
protected void doView(RenderRequest request,
RenderResponse response)
throws PortletException,
java.io.IOException
Helper method to serve up the mandatory
view
mode.
The default implementation throws an exception.
request
- the portlet requestresponse
- the render response
getInitParameter
public 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.
- getInitParameter in interface PortletConfig
name
- a String
specifying the name
of the initialization parameter
- a
String
containing the value
of the initialization parameter
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.
- getInitParameterNames in interface PortletConfig
- an
Enumeration
of String
objects containing the names of the portlet
initialization parameters, or an empty Enumeration if the
portlet has no initialization parameters.
getPortletConfig
public PortletConfig getPortletConfig()
Returns the PortletConfig object of this portlet.
- the PortletConfig object of this portlet
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.
- getResourceBundle in interface PortletConfig
- 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
- the portlet title for this window
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()
.
PortletException
- if an exception has occurred that
interferes with the portlet normal
operation.
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:
- it throws a
PortletException
- it does not return within a time period defined by the Web server
- init in interface Portlet
config
- a PortletConfig
object
containing the portlet
configuration and initialization parameters
PortletException
- if an exception has occurred that
interferes with the portlet normal
operation.
processAction
public void processAction(ActionRequest request,
ActionResponse response)
throws PortletException,
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.
- processAction in interface Portlet
request
- the action requestresponse
- the action response
render
public void render(RenderRequest request,
RenderResponse response)
throws PortletException,
java.io.IOException
The default implementation of this method sets the title
using the getTitle
method and invokes the
doDispatch
method.
- render in interface Portlet
request
- the render requestresponse
- the render response