com.raritantechnologies.searchApp.taglibrary
Class DynamicPageImportRenderer

java.lang.Object
  extended bycom.raritantechnologies.searchApp.taglibrary.PageImportRenderer
      extended bycom.raritantechnologies.searchApp.taglibrary.DynamicPageImportRenderer
All Implemented Interfaces:
IConfigurable, IPageContextRenderer

public class DynamicPageImportRenderer
extends PageImportRenderer
implements IPageContextRenderer

Page Import Renderer that can make decisions based on page content.

Consists of a list of proxy PageImportRenderer or IPageContextRenderers each coupled with a page filter (IComparator) if the page comparator returns true, the page is used, else the next renderer is tried.

XML Configuration Template:
  <SystemObject type="PageImportRenderer" name="[The SystemObject name]"
                   configurableClass="com.raritantechnologies.searchApp.taglibrary.DynamicPageImportRenderer" >

    <!-- One or more ProxyRenderer elements: -->
    <ProxyRenderer>

      <!-- RequestParams used to switch on http input: -->
      <RequestParams>
         <!-- One or more Param elements -->
         <Param name="[ name in http request ]" >
            <!-- set of valid values for this parameter -->
            <ValidValues>
               <Value>[ a valid value ]
               <Value>[ another value ]
            </ValidValues>
         </Param>

         <Param name="[ name in http request ]" >
           <!-- Alternatively, use an IComparator -->
           <Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >
             <!-- configuration parameters for this IComparator -->
           </Comparator>
         </Param>
      </RequestParams>

      <!-- UserParams used to switch on user properties: -->
      <UserParams>
         <!-- One or more Param elements -->
         <Param name="[ name of user attribute ]" >
            <!-- set of valid values for this attribute -->
            <ValidValues>
               <Value>[ a valid value ]
               <Value>[ another value ]
            </ValidValues>
         </Param>

         <Param name="[ name of user attribute ]" >
           <!-- Alternatively, use an IComparator -->
           <Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >
             <!-- configuration parameters for this IComparator -->
           </Comparator>
         </Param>
      </UserParams>

      <!-- OutputComparator is used to switch on proxy renderers output -->
      <OutputComparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >
         <!-- configuration parameters for this IComparator -->
      </OutputComparator>

       <PageContextRenderer class="[ class of com.raritantechnologies.searchApp.taglibrary.IPageContextRenderer (PageImportRenderer) ]" >

       </PageContextRenderer>

       <!-- etc . . . -->

       <!-- Optional String filter to filter valid output -->
       <OutputFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter" ] >

       </OutputFilter>

    </ProxyRenderer>

  </SystemObject>
  

Developed by Raritan Technologies .

Author:
Ted Sullivan

Nested Class Summary
 
Nested classes inherited from class com.raritantechnologies.searchApp.taglibrary.PageImportRenderer
PageImportRenderer.PageElement
 
Field Summary
 
Fields inherited from class com.raritantechnologies.searchApp.taglibrary.PageImportRenderer
caching
 
Constructor Summary
DynamicPageImportRenderer()
           
 
Method Summary
 java.lang.String getPage(RaritanPageContext pContext)
          returns an HTML page or page fragment given a set of request parameters.
 void initialize(org.w3c.dom.Element elem)
          Initializes the object from an XML tag or element.
 java.lang.String render(RaritanPageContext pContext)
          Returns the tag body.
 
Methods inherited from class com.raritantechnologies.searchApp.taglibrary.PageImportRenderer
addPageElement, getAddPersistent, getConfigurationXML, getFragmentFile, getPageHeader, getPageName, getPageTrailer, setAddPersistent, setPageHeader, setPageName, setPageTrailer, setStringFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicPageImportRenderer

public DynamicPageImportRenderer()
Method Detail

getPage

public java.lang.String getPage(RaritanPageContext pContext)
Description copied from class: PageImportRenderer
returns an HTML page or page fragment given a set of request parameters.

Overrides:
getPage in class PageImportRenderer
Parameters:
pContext - contains request and session parameters needed to execute the page retrieval.
Returns:
A string containing the page data.

render

public java.lang.String render(RaritanPageContext pContext)
Description copied from interface: IPageContextRenderer
Returns the tag body.

Specified by:
render in interface IPageContextRenderer
Overrides:
render in class PageImportRenderer

initialize

public void initialize(org.w3c.dom.Element elem)
Description copied from interface: IConfigurable
Initializes the object from an XML tag or element. This method is called by the Framework as part of the application initializtion. see ConfigurationManager, XMLConfigurationManager, XMLSearchFieldMapFactory, XMLSearchSourceFactory. Configurable objects that are owned or contained by other configurable objects will be initialized in by the parent object.

Specified by:
initialize in interface IConfigurable
Overrides:
initialize in class PageImportRenderer