com.liferay.portal.kernel.lar
Interface PortletDataHandler


public interface PortletDataHandler

View Source

A PortletDataHandler is a special class capable of exporting and importing portlet specific data to a Liferay Archive file (LAR) when a community's layouts are exported or imported. PortletDataHandlers are defined by placing a portlet-data-handler-class element in the portlet section of the liferay-portlet.xml file.

Author:
Raymond Augé, Joel Kozikowski

Method Summary
 java.lang.String exportData(PortletDataContext context, java.lang.String portletId, javax.portlet.PortletPreferences prefs)
          Returns a string of data to be placed in the <portlet-data> section of the LAR file.
 PortletDataHandlerControl[] getExportControls()
          Returns an array of the controls defined for this data handler.
 PortletDataHandlerControl[] getImportControls()
          Returns an array of the controls defined for this data handler.
 javax.portlet.PortletPreferences importData(PortletDataContext context, java.lang.String portletId, javax.portlet.PortletPreferences prefs, java.lang.String data)
          Handles any special processing of the data when the portlet is imported into a new layout.
 

Method Detail

getExportControls

public PortletDataHandlerControl[] getExportControls()
                                              throws PortletDataException
Returns an array of the controls defined for this data handler. These controls enable the developer to create fine grained controls over export behavior. The controls are rendered in the export UI.

Returns:
an array of PortletDataHandlerControls
Throws:
PortletDataException

getImportControls

public PortletDataHandlerControl[] getImportControls()
                                              throws PortletDataException
Returns an array of the controls defined for this data handler. These controls enable the developer to create fine grained controls over import behavior. The controls are rendered in the import UI.

Returns:
An array of PortletDataHandlerControls
Throws:
PortletDataException

exportData

public java.lang.String exportData(PortletDataContext context,
                                   java.lang.String portletId,
                                   javax.portlet.PortletPreferences prefs)
                            throws PortletDataException
Returns a string of data to be placed in the <portlet-data> section of the LAR file. This data will be passed as the data parameter of importData().

Parameters:
context - the context of the data export
portletId - the portlet id of the portlet
prefs - the portlet preferences of the portlet
Returns:
A string of data to be placed in the LAR. It may be XML, but not necessarily. Null should be returned if no portlet data is to be written out.
Throws:
PortletDataException

importData

public javax.portlet.PortletPreferences importData(PortletDataContext context,
                                                   java.lang.String portletId,
                                                   javax.portlet.PortletPreferences prefs,
                                                   java.lang.String data)
                                            throws PortletDataException
Handles any special processing of the data when the portlet is imported into a new layout. Can optionally return a modified version of prefs to be saved in the new portlet.

Parameters:
context - the context of the data import
portletId - the portlet id of the portlet
prefs - the portlet preferences of the portlet
data - the string data that was returned by exportData()
Returns:
A modified version of prefs that should be saved. Null if the preferences were unmodified by this data handler.
Throws:
PortletDataException