com.arsdigita.bebop.portal
Class AbstractPortletRenderer

java.lang.Object
  extended bycom.arsdigita.bebop.Completable
      extended bycom.arsdigita.bebop.SimpleComponent
          extended bycom.arsdigita.bebop.TextStylable
              extended bycom.arsdigita.bebop.BlockStylable
                  extended bycom.arsdigita.bebop.SimpleContainer
                      extended bycom.arsdigita.bebop.portal.Portlet
                          extended bycom.arsdigita.bebop.portal.AbstractPortletRenderer
All Implemented Interfaces:
BebopConstants, Cloneable, Component, Container, Lockable, PortletRenderer
Direct Known Subclasses:
TimestampCachingPortletRenderer

public abstract class AbstractPortletRenderer
extends Portlet

An abstract implementation of PortletRenderer meant to capture default behavior for portlets defined by users of the Portal component.

The generateXML(com.arsdigita.bebop.PageState, com.arsdigita.xml.Element) method in this class provides a default XML dressing around a portlet. This dressing is used by Portal's stylesheet rules to generate a title and frame around each portlet. Programmers looking to implement a portlet should extend this class and override generateBodyXML(com.arsdigita.bebop.PageState, com.arsdigita.xml.Element).

Version:
$Id: //core-platform/dev/src/com/arsdigita/bebop/portal/AbstractPortletRenderer.java#8 $
Author:
Justin Ross, James Parsons
See Also:
Portal, PortalModel, PortalModelBuilder, PortletRenderer

Field Summary
 
Fields inherited from class com.arsdigita.bebop.portal.Portlet
NARROW_PROFILE, versionId, WIDE_PROFILE
 
Fields inherited from class com.arsdigita.bebop.BlockStylable
ABSBOTTOM, ABSMIDDLE, BASELINE, BOTTOM, CENTER, FULL_WIDTH, INSERT, LEFT, MIDDLE, RIGHT, TEXTTOP, TOP
 
Fields inherited from class com.arsdigita.bebop.SimpleComponent
m_attr
 
Fields inherited from interface com.arsdigita.bebop.util.BebopConstants
BEBOP_BORDER, BEBOP_BOXPANEL, BEBOP_CELL, BEBOP_CHECKBOX, BEBOP_CHECKBOXGROUP, BEBOP_COLUMNPANEL, BEBOP_DATE, BEBOP_DATETIME, BEBOP_DHTMLEDITOR, BEBOP_FORMERRORS, BEBOP_FORMWIDGET, BEBOP_GRIDPANEL, BEBOP_LIST, BEBOP_MULTISELECT, BEBOP_OPTION, BEBOP_PAD, BEBOP_PADFRAME, BEBOP_PANELROW, BEBOP_PORTAL, BEBOP_PORTLET, BEBOP_RADIO, BEBOP_RADIOGROUP, BEBOP_SEG_BODY, BEBOP_SEG_HEADER, BEBOP_SEG_PANEL, BEBOP_SEGMENT, BEBOP_SELECT, BEBOP_TABLE, BEBOP_TABLEBODY, BEBOP_TABLEROW, BEBOP_TEXTAREA
 
Fields inherited from interface com.arsdigita.bebop.Component
BEBOP_XML_NS, CLASS, ID, ON_CLICK, STYLE
 
Constructor Summary
AbstractPortletRenderer()
           
 
Method Summary
protected abstract  void generateBodyXML(PageState pageState, Element parentElement)
          Generate XML for the body, not the frame, of this Portlet.
 void generateXML(PageState state, Element parent)
          An implementation of Portlet.generateXML(com.arsdigita.bebop.PageState, com.arsdigita.xml.Element) that provides a default Portlet mini-schema.
 Object getCacheKey()
           
 Date getDateCached()
           
 boolean isDirty()
          Developer's may use this method to implement cacheing of a portlet's content.
 
Methods inherited from class com.arsdigita.bebop.portal.Portlet
getCellNumber, getProfile, getSortKey, getTitle, setCellNumber, setPortletAttribute, setProfile, setSortKey, setTitle
 
Methods inherited from class com.arsdigita.bebop.SimpleContainer
add, add, children, contains, generateChildrenXML, generateParent, get, getNamespace, getTag, indexOf, isEmpty, setNamespace, setTag, size
 
Methods inherited from class com.arsdigita.bebop.BlockStylable
setBorder, setBorder, setBorderColor, setHorizontalAlignment, setMargin, setMargin, setPadding, setPadding, setVerticalAlignment
 
Methods inherited from class com.arsdigita.bebop.TextStylable
setBackgroundColor, setColor
 
Methods inherited from class com.arsdigita.bebop.SimpleComponent
clone, exportAttributes, getAttribute, getClassAttr, getIdAttr, getKey, getMetaDataAttribute, getStyleAttr, hasAttributes, isLocked, isVisible, lock, register, register, respond, setAttribute, setClassAttr, setIdAttr, setKey, setMetaDataAttribute, setStyleAttr, setVisible
 
Methods inherited from class com.arsdigita.bebop.Completable
addCompletionListener, fireCompletionEvent
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.arsdigita.bebop.Component
getClassAttr, getIdAttr, getKey, getStyleAttr, isVisible, register, register, respond, setClassAttr, setIdAttr, setKey, setStyleAttr, setVisible
 
Methods inherited from interface com.arsdigita.util.Lockable
isLocked, lock
 

Constructor Detail

AbstractPortletRenderer

public AbstractPortletRenderer()
Method Detail

generateBodyXML

protected abstract void generateBodyXML(PageState pageState,
                                        Element parentElement)
Generate XML for the body, not the frame, of this Portlet. It's the primary intention of this class that programmers override this particular method.

Parameters:
pageState - the PageState representing the current request.
parentElement - the Element to which to attach the XML this method produces.

generateXML

public void generateXML(PageState state,
                        Element parent)
Description copied from class: Portlet
An implementation of Portlet.generateXML(com.arsdigita.bebop.PageState, com.arsdigita.xml.Element) that provides a default Portlet mini-schema.
 <bebop:portlet title="A Portlet" cellNumber="1" profile="narrow">
   <!-- XML defined by children -->
 </bebop:portlet>
 

Specified by:
generateXML in interface PortletRenderer
Overrides:
generateXML in class Portlet
Parameters:
state - the PageState representing the current request.
parent - the Element to which to attach the XML this method produces.

isDirty

public boolean isDirty()
Developer's may use this method to implement cacheing of a portlet's content. Portlet's default implementation always returns true.

Specified by:
isDirty in interface PortletRenderer
Overrides:
isDirty in class Portlet
Returns:
whether or not the portlet's content is dirty and must be regenerated.

getCacheKey

public Object getCacheKey()
Specified by:
getCacheKey in interface PortletRenderer
Overrides:
getCacheKey in class Portlet

getDateCached

public Date getDateCached()


Copyright (c) 2004 Red Hat, Inc. Corporation. All Rights Reserved. Generated at July 20 2004:2337 UTC