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, Bruno Farache

Method Summary
 javax.portlet.PortletPreferences deleteData(PortletDataContext context, java.lang.String portletId, javax.portlet.PortletPreferences prefs)
          Deletes the data created by the portlet.
 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.
 boolean isPublishToLiveByDefault()
          Returns whether the data exported by this handler should be included by default when publishing to live.
 

Method Detail

deleteData

javax.portlet.PortletPreferences deleteData(PortletDataContext context,
                                            java.lang.String portletId,
                                            javax.portlet.PortletPreferences prefs)
                                            throws PortletDataException
Deletes the data created by the portlet. Can optionally return a modified version of prefs if it contains reference to data that does not exist anymore.

Parameters:
context - the context of the data deletion
portletId - the portlet id of the portlet
prefs - the portlet preferences of the portlet
Returns:
A modified version of prefs that should be saved. Null if the preferences were unmodified by this data handler.
Throws:
PortletDataException

exportData

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

getExportControls

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

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

importData

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

isPublishToLiveByDefault

boolean isPublishToLiveByDefault()
Returns whether the data exported by this handler should be included by default when publishing to live. This should only be true for data that is meant to be managed in an staging environment such as CMS content, but not for data meant to be input by users such as wiki pages or message board posts.

Returns:
true to publish to live by default