|
Portlet API (V1.0) | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.portlet.GenericPortlet
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:
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.
Constructor Summary | |
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 |
public GenericPortlet()
Method Detail |
public void init(PortletConfig config) throws PortletException
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:
PortletException
init
in interface Portlet
config
- a PortletConfig
object
containing the portlet
configuration and initialization parametersPortletException
- if an exception has occurred that
interferes with the portlet normal
operation.UnavailableException
- if the portlet cannot perform the initialization at this time.public void init() throws PortletException
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.UnavailableException
- if the portlet is unavailable to perform initpublic void processAction(ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException
RenderResponse.createActionURL()
method.
The default implementation throws an exception.
processAction
in interface Portlet
request
- the action requestresponse
- the action responsePortletException
- if the portlet cannot fulfilling the requestUnavailableException
- if the portlet is unavailable to process the action at this timePortletSecurityException
- if the portlet cannot fullfill this request because of security reasonsjava.io.IOException
- if the streaming causes an I/O problempublic void render(RenderRequest request, RenderResponse response) throws PortletException, java.io.IOException
getTitle
method and invokes the
doDispatch
method.render
in interface Portlet
request
- the render requestresponse
- the render responsePortletException
- if the portlet cannot fulfilling the requestUnavailableException
- if the portlet is unavailable to perform render at this timePortletSecurityException
- if the portlet cannot fullfill this request because of security reasonsjava.io.IOException
- if the streaming causes an I/O problemprotected java.lang.String getTitle(RenderRequest request)
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:
protected void doDispatch(RenderRequest request, RenderResponse response) throws PortletException, java.io.IOException
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 responsePortletException
- if the portlet cannot fulfilling the requestUnavailableException
- if the portlet is unavailable to perform render at this timePortletSecurityException
- if the portlet cannot fullfill this request because of security reasonsjava.io.IOException
- if the streaming causes an I/O problemdoView(RenderRequest, RenderResponse)
,
doEdit(RenderRequest, RenderResponse)
,
doHelp(RenderRequest, RenderResponse)
protected void doView(RenderRequest request, RenderResponse response) throws PortletException, java.io.IOException
view
mode.
The default implementation throws an exception.
request
- the portlet requestresponse
- the render responsePortletException
- if the portlet cannot fulfilling the requestUnavailableException
- if the portlet is unavailable to perform render at this timePortletSecurityException
- if the portlet cannot fullfill this request because of security reasonsjava.io.IOException
- if the streaming causes an I/O problemprotected void doEdit(RenderRequest request, RenderResponse response) throws PortletException, java.io.IOException
edit
mode.
The default implementation throws an exception.
request
- the portlet requestresponse
- the render responsePortletException
- if the portlet cannot fulfilling the requestUnavailableException
- if the portlet is unavailable to perform render at this timePortletSecurityException
- if the portlet cannot fullfill this request because of security reasonsjava.io.IOException
- if the streaming causes an I/O problemprotected void doHelp(RenderRequest request, RenderResponse response) throws PortletException, java.io.IOException
help
mode.
The default implementation throws an exception.
request
- the portlet requestresponse
- the render responsePortletException
- if the portlet cannot fulfilling the requestUnavailableException
- if the portlet is unavailable to perform render at this timePortletSecurityException
- if the portlet cannot fullfill this request because of security reasonsjava.io.IOException
- if the streaming causes an I/O problempublic PortletConfig getPortletConfig()
public void destroy()
The default implementation does nothing.
destroy
in interface Portlet
public java.lang.String getPortletName()
getPortletName
in interface PortletConfig
PortletConfig.getPortletName()
public PortletContext getPortletContext()
PortletContext
of the portlet application
the portlet is in.getPortletContext
in interface PortletConfig
public java.util.ResourceBundle getResourceBundle(java.util.Locale locale)
resource-bundle
tag or the inlined resources
defined in the deployment descriptor.getResourceBundle
in interface PortletConfig
public java.lang.String getInitParameter(java.lang.String name)
getInitParameter
in interface PortletConfig
name
- a String
specifying the name
of the initialization parameterString
containing the value
of the initialization parameterjava.lang.IllegalArgumentException
- if name is null
.public java.util.Enumeration getInitParameterNames()
getInitParameterNames
in interface PortletConfig
Enumeration
of String
objects containing the names of the portlet
initialization parameters, or an empty Enumeration if the
portlet has no initialization parameters.
|
Portlet API (V1.0) | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |