com.raritantechnologies.searchApp.taglibrary
Class DynamicDisplayFormRenderer

java.lang.Object
  extended bycom.raritantechnologies.searchApp.taglibrary.DynamicDisplayFormRenderer
All Implemented Interfaces:
IConfigurable, IDisplayFormRenderer

public class DynamicDisplayFormRenderer
extends java.lang.Object
implements IDisplayFormRenderer

Selects from one of several possible DisplayForm renderers based on the value of an http request, session, IResult field or IResultSet attribute.

XML Configuration Template:
   <DisplayForm name="[the Display form name]"
                   rendererClass="com.raritantechnologies.searchApp.taglibrary.DynamicDisplayFormRenderer"
                   defaultViewSelector="[ default selector value ]"
                   initFrom="[ request | session | results | resultset ]" <!-- where to get the value from -->
                   rendererSwitch="[ request or result parameter that contains the switch key value ]" >

     <!-- two or more ViewDisplayRenderer tags -->
     <ViewDisplayRenderer rendererClass="[ class of IDisplayFormRenderer ] "
                             viewSelector="[ value of rendererSwitch parameter that will select this view]" >

       <!-- Alternatively, can use an IComparator to determine if this renderer should be used -->
       <ViewSelectComparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >

       </ViewSelectComparator>
     
          <!-- Configuration parameters for this display renderer -->
     </ViewDisplayRenderer>

     <ViewDisplayRenderer rendererClass="[ class of IDisplayFormRenderer ]"
                             viewSelector="[ value of rendererSwitch parameter that will select this view]" >
          <!-- Configuration parameters for this display renderer -->
     </ViewDisplayRenderer>

     <!-- etc... -->         

   </DisplayForm>
 

Developed by Raritan Technologies Inc..

Author:
Jim Nicholson

Field Summary
 
Fields inherited from interface com.raritantechnologies.searchApp.taglibrary.IDisplayFormRenderer
TEMPLATE
 
Constructor Summary
DynamicDisplayFormRenderer()
           
 
Method Summary
 void addBodyTrailerContent(java.lang.String content)
          Add html content to be appended to the body of the displayFormRenderer
 void disableRenderers(java.util.HashSet disabledRenderers)
           
 void enableRenderers(java.util.HashSet enabledRenderers)
           
 java.lang.String getBody(IResultSet resultSet, java.lang.String displayFormName, RaritanPageContext pageContext)
          Returns the display form body as an HTML fragment, by formatting the data contained in an IResultSet.
protected  IDisplayFormRenderer getCurrentRenderer()
           
 IResultRenderer getResultRenderer(java.lang.String name)
           
 void initialize(org.w3c.dom.Element elem)
          Initialize the search form renderer from the configuration XML.
protected  void setCurrentRenderer(IDisplayFormRenderer currentRenderer)
           
 void setDisabledRendererParam(java.lang.String disabledParam)
           
 void setEnabledRendererParam(java.lang.String enabledParam)
           
 void setEnabledRenderers(java.lang.String displayForm, RaritanPageContext pageContext)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicDisplayFormRenderer

public DynamicDisplayFormRenderer()
Method Detail

initialize

public void initialize(org.w3c.dom.Element elem)
Initialize the search form renderer from the configuration XML.

Specified by:
initialize in interface IDisplayFormRenderer

getBody

public java.lang.String getBody(IResultSet resultSet,
                                java.lang.String displayFormName,
                                RaritanPageContext pageContext)
Returns the display form body as an HTML fragment, by formatting the data contained in an IResultSet.

Specified by:
getBody in interface IDisplayFormRenderer

addBodyTrailerContent

public void addBodyTrailerContent(java.lang.String content)
Description copied from interface: IDisplayFormRenderer
Add html content to be appended to the body of the displayFormRenderer

Specified by:
addBodyTrailerContent in interface IDisplayFormRenderer

getResultRenderer

public IResultRenderer getResultRenderer(java.lang.String name)
Specified by:
getResultRenderer in interface IDisplayFormRenderer

setEnabledRendererParam

public void setEnabledRendererParam(java.lang.String enabledParam)
Specified by:
setEnabledRendererParam in interface IDisplayFormRenderer

setDisabledRendererParam

public void setDisabledRendererParam(java.lang.String disabledParam)
Specified by:
setDisabledRendererParam in interface IDisplayFormRenderer

setEnabledRenderers

public void setEnabledRenderers(java.lang.String displayForm,
                                RaritanPageContext pageContext)
Specified by:
setEnabledRenderers in interface IDisplayFormRenderer

enableRenderers

public void enableRenderers(java.util.HashSet enabledRenderers)
Specified by:
enableRenderers in interface IDisplayFormRenderer

disableRenderers

public void disableRenderers(java.util.HashSet disabledRenderers)
Specified by:
disableRenderers in interface IDisplayFormRenderer

getCurrentRenderer

protected IDisplayFormRenderer getCurrentRenderer()
Returns:
Returns the currentRenderer.

setCurrentRenderer

protected void setCurrentRenderer(IDisplayFormRenderer currentRenderer)
Parameters:
currentRenderer - The currentRenderer to set.