com.raritantechnologies.searchApp.taglibrary
Interface ISearchFormRenderer

All Superinterfaces:
IConfigurable
All Known Implementing Classes:
BasicSearchFormRenderer, BrowseListEditor, DynamicSearchFormRenderer, DynamicSearchPropertySetter, PopupSearchFormRenderer, SystemObjectSearchFormRenderer, TabbedSearchFormRenderer, TopicSearchFormRenderer

public interface ISearchFormRenderer
extends IConfigurable

Base interface for XML Configurable- HTML Search Form Renderers.

SearchForm renderers are initialized through the application Configuration as follows. For XML configurations, the com.raritantechnologies.searchApp.XMLConfigurationManager and com.raritantechnologies.searchApp.XMLSearchFieldMapFactory initialize all <SearchForm> tags within the configuration XML. If the <SearchForm> tag has a "rendererClass" attribute (which must be an implementation class of ISearchFormRenderer), the ISearchFormRenderer is constructed and its initialize( Element ) method is called with the contents of the <SearchForm> tag whose general format is shown below:

  <SearchForm 
      name="[search form name]" 
      category="[optional category]" 
      rendererClass="[implementation class of ISearchFormRenderer]" >

    <!-- Parameters required by SearchFormRenderer Class -->

  </SearchForm>
 

Once initialized by the RTI Framework, the a SearchFormRenderer can be acquired by name from the ConfigurationManager using the following code sequence:

    ConfigurationManager cMan = ConfigurationManager.getInstance( );
    ISearchFieldMap sfMap = cMan.getSearchFieldMap( );

    ISearchFormRenderer sfRenderer = sfMap.getSearchFormRenderer( "The Search Form Name", "the SearchForm Category" );
  


Developed by Raritan Technologies .

Author:
Ted Sullivan

Field Summary
static java.lang.String CLEAR
           
static java.lang.String PAGE
           
static java.lang.String PAGE_NUM
           
static java.lang.String PAGE_SIZE
           
static java.lang.String RESET
           
static java.lang.String SEARCH
           
 
Method Summary
 void addAfterFormData(java.lang.String afterFormData)
           
 void addFormScript(java.lang.String scriptName, java.lang.String script)
          Adds a section of javascript to the form.
 void addHiddenField(java.lang.String fieldName, java.lang.String fieldValue)
          Adds a hidden field to the form.
 boolean canUpdateSearchParams()
           
 java.lang.String getActionURL()
           
 java.lang.String getBody(java.lang.String searchFormName, java.lang.String categoryName, java.lang.String initialFields, java.lang.String hiddenFields, java.lang.String action, java.lang.String formInitArgs, RaritanPageContext pageContext)
          Main search form generation method.
 java.lang.String getCategory()
           
 java.lang.String getFormInitArgs()
           
 java.lang.String getFormMethod()
           
 java.lang.String getFormName()
           
 java.lang.String getFormType()
           
 java.lang.String getHiddenFields()
           
 java.lang.String getInitialFields()
           
 java.lang.String getOnSubmitHandler(java.lang.String sessionID)
           
 java.lang.String getSubmitHandlerName()
           
 void initialize(org.w3c.dom.Element elem)
          Initialize the search form renderer from the application Configuration XML.
 void setFormMethod(java.lang.String formMethod)
          sets the form method ( "get" or "post" )
 void setFormName(java.lang.String formName)
          sets the form name - used as a key field in session data management so this should be unique within an application.
 void setFormType(java.lang.String formType)
          Used for new search, paging, search within results, re-sort, whatever?
 void setOnSubmitHandler(java.lang.String onSubmitHandler)
           
 void setSubmitHandlerName(java.lang.String submitHandlerName)
           
 void updateSearchParams(RaritanPageContext pContext, OrderedMap searchParams)
          "callback" loop: SearchFormRenderer responsible for converting requests into one or more query maps.
 

Field Detail

SEARCH

public static final java.lang.String SEARCH
See Also:
Constant Field Values

RESET

public static final java.lang.String RESET
See Also:
Constant Field Values

PAGE

public static final java.lang.String PAGE
See Also:
Constant Field Values

CLEAR

public static final java.lang.String CLEAR
See Also:
Constant Field Values

PAGE_NUM

public static final java.lang.String PAGE_NUM
See Also:
Constant Field Values

PAGE_SIZE

public static final java.lang.String PAGE_SIZE
See Also:
Constant Field Values
Method Detail

initialize

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

Specified by:
initialize in interface IConfigurable

getBody

public java.lang.String getBody(java.lang.String searchFormName,
                                java.lang.String categoryName,
                                java.lang.String initialFields,
                                java.lang.String hiddenFields,
                                java.lang.String action,
                                java.lang.String formInitArgs,
                                RaritanPageContext pageContext)
Main search form generation method. Creates a <form ...> ... </form> HTML fragment.

Parameters:
searchFormName - Name of search form - Used to lookup a configuration element from application config. Sets the name="" attribute of the HTML form.
categoryName - Category of this search form (used for Source Map applications).
initialFields - Additional search form input fields - assumed to be HTML.
hiddenFields - List of hidden field name=value pairs.
action - Action URL (e.g. JSP or ASP page)
formInitArgs - Initial arguments to be passed in the <form> tag.
pageContext - Wraps the current page context. Contains session ID, session data HTTP request parameters. Can be used to set initial field values.

setFormType

public void setFormType(java.lang.String formType)
Used for new search, paging, search within results, re-sort, whatever?


getFormType

public java.lang.String getFormType()

setFormName

public void setFormName(java.lang.String formName)
sets the form name - used as a key field in session data management so this should be unique within an application.


getFormName

public java.lang.String getFormName()

setFormMethod

public void setFormMethod(java.lang.String formMethod)
sets the form method ( "get" or "post" )


getFormMethod

public java.lang.String getFormMethod()

addHiddenField

public void addHiddenField(java.lang.String fieldName,
                           java.lang.String fieldValue)
Adds a hidden field to the form.


addFormScript

public void addFormScript(java.lang.String scriptName,
                          java.lang.String script)
Adds a section of javascript to the form. The script should NOT be enclosed by a <script> </script> tag.


getCategory

public java.lang.String getCategory()

getInitialFields

public java.lang.String getInitialFields()

getHiddenFields

public java.lang.String getHiddenFields()

getActionURL

public java.lang.String getActionURL()

getFormInitArgs

public java.lang.String getFormInitArgs()

setOnSubmitHandler

public void setOnSubmitHandler(java.lang.String onSubmitHandler)

getOnSubmitHandler

public java.lang.String getOnSubmitHandler(java.lang.String sessionID)

setSubmitHandlerName

public void setSubmitHandlerName(java.lang.String submitHandlerName)

getSubmitHandlerName

public java.lang.String getSubmitHandlerName()

updateSearchParams

public void updateSearchParams(RaritanPageContext pContext,
                               OrderedMap searchParams)
"callback" loop: SearchFormRenderer responsible for converting requests into one or more query maps.


canUpdateSearchParams

public boolean canUpdateSearchParams()

addAfterFormData

public void addAfterFormData(java.lang.String afterFormData)