Clearspace API (1.7.0) Core Javadocs

com.jivesoftware.community.widget
Class BaseWidget

java.lang.Object
  extended by com.jivesoftware.community.widget.BaseWidget
All Implemented Interfaces:
Widget

public abstract class BaseWidget
extends java.lang.Object
implements Widget

An abstract implementation of the Widget interface this class provides subclasses with built in support for processing a freemarker template and internationalization. It is recommended that all Widgets extend this base class, rather than implementing the Widget interface directly.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.jivesoftware.community.widget.Widget
Widget.ContainerSize
 
Constructor Summary
BaseWidget()
           
 
Method Summary
protected  java.lang.String applyFreemarkerTemplate(WidgetContext widgetContext, Widget.ContainerSize size, java.lang.String templateName)
          Processes the specified template file and returns a String containing the content of the template file.
 java.lang.String getCssClass()
          Returns a custom css class for the widget, or null if a custom css class does not exist.
 java.lang.String getCustomTitle()
          Returns a custom title that will override the default title when the widget is rendered, or null if a custom title does not exist.
 long getID()
          Gets the internal id of the widget
protected  java.lang.String getLocalizedString(java.lang.String key, WidgetContext widgetContext)
           
protected  java.util.Map<java.lang.String,java.lang.Object> loadProperties(WidgetContext widgetContext, Widget.ContainerSize size)
          Responsible for parsing the request URL and adding the necessary parameters to the freemarker context.
protected static java.lang.String processFreemarkerTemplate(freemarker.template.Configuration config, freemarker.template.SimpleHash model, java.lang.String templateName)
          Processes the specified template file and returns a String containing the content of the template file.
 void setCustomTitle(java.lang.String customTitle)
          Sets a custom title that will override the default title when the widget is rendered.
 void setID(long ID)
          Sets the internal id of the widget
protected  java.lang.String stripHTMLTags(java.lang.String html)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.jivesoftware.community.widget.Widget
getDescription, getTitle, render
 

Constructor Detail

BaseWidget

public BaseWidget()
Method Detail

getID

public final long getID()
Description copied from interface: Widget
Gets the internal id of the widget

Specified by:
getID in interface Widget
Returns:
the internal id of the widget

setID

public final void setID(long ID)
Description copied from interface: Widget
Sets the internal id of the widget

Specified by:
setID in interface Widget
Parameters:
ID - the internal id of the widget

getCustomTitle

public final java.lang.String getCustomTitle()
Description copied from interface: Widget
Returns a custom title that will override the default title when the widget is rendered, or null if a custom title does not exist.

Specified by:
getCustomTitle in interface Widget
Returns:
a custom title that will override the default title when the widget is rendered, or null if a custom title does not exist.

setCustomTitle

public final void setCustomTitle(java.lang.String customTitle)
Description copied from interface: Widget
Sets a custom title that will override the default title when the widget is rendered.

Specified by:
setCustomTitle in interface Widget
Parameters:
customTitle - a custom title that will override the default title when the widget is rendered.

getCssClass

public java.lang.String getCssClass()
Description copied from interface: Widget
Returns a custom css class for the widget, or null if a custom css class does not exist.

Specified by:
getCssClass in interface Widget
Returns:
a custom css class for the widget, or null if a custom css class does not exist.

applyFreemarkerTemplate

protected java.lang.String applyFreemarkerTemplate(WidgetContext widgetContext,
                                                   Widget.ContainerSize size,
                                                   java.lang.String templateName)
Processes the specified template file and returns a String containing the content of the template file.

Parameters:
widgetContext - the widget context used to render this widget
size - the ContainerSize to render
templateName - name of the template
Returns:
the content of the specified template file

processFreemarkerTemplate

protected static java.lang.String processFreemarkerTemplate(freemarker.template.Configuration config,
                                                            freemarker.template.SimpleHash model,
                                                            java.lang.String templateName)
Processes the specified template file and returns a String containing the content of the template file.

Parameters:
config - the freemarker configuration
model - used for the freemarker context
templateName - name of the template
Returns:
the content of the specified template file

loadProperties

protected java.util.Map<java.lang.String,java.lang.Object> loadProperties(WidgetContext widgetContext,
                                                                          Widget.ContainerSize size)
Responsible for parsing the request URL and adding the necessary parameters to the freemarker context. The parameters will then be available for use in the freemarker template.

Parameters:
widgetContext - the widget context used to render the widget
size - the ContainerSize to render
Returns:
a map containing all the necessary parameters for the requested options

getLocalizedString

protected java.lang.String getLocalizedString(java.lang.String key,
                                              WidgetContext widgetContext)

stripHTMLTags

protected java.lang.String stripHTMLTags(java.lang.String html)

Clearspace Project Page

Copyright © 1999-2007 Jive Software.