站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBOSS Portal 2.4 API 英文版文档

GenericPortlet - JBOSS Portal 2.4 API 英文版文档


javax.portlet
Class GenericPortlet

java.lang.Object
  extended byjavax.portlet.GenericPortlet
All Implemented Interfaces:
Portlet
Direct Known Subclasses:
AbstractTestGenericPortlet, BasicPortlet, CharsetPortlet, CMSPortlet, ContentRewritePortlet, CounterPortlet, DispatcherPortlet, EncodeURLPortlet, EncodingPortlet, GetLocalesPortlet, HeaderContentPortlet, HintPortlet, JSPPortlet, MarkupPortlet, NewsPortlet, PortletA, PortletB, PortletSessionPortlet, RenderParamPortlet, SessionPortlet, SimplePortlet, URLPortlet, WeatherPortlet, WsrpSelectorTestPortlet

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:

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
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