|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.raritantechnologies.searchApp.taglibrary.DynamicSearchElementRenderer
Renders a search element based on a set of request, result, user or search source criteria. Matches these criteria against the current search, result, user or search source parameters. Uses a set of nested search element renderers along with criteria for choosing a renderer based on request/result parameter settings.
Enables context-sensitive switch search elements. Can use to show/hide search elements based on search or result contexts.
XML Configuration Template:
<SearchElementRenderer
rendererClass="com.raritantechnologies.searchApp.taglibrary.DynamicSearchElementRenderer"
onMatch="show" > <!-- choices are show/hide default state is opposite -->
<!-- ============================================================== -->
<!-- One or more <UseRenderer> tags. A UseRenderer contains two -->
<!-- sections. One that defines what request, result or user -->
<!-- criteria are used to select a SearchElementRenderer (one of -->
<!-- <RequestParams>, <ResultParams> or <UserParams> tags). -->
<!-- Each UseRenderer tag also contains a nested -->
<!-- SearchElementRenderer tag that will be used if the selection -->
<!-- criteria match. -->
<!-- ============================================================== -->
<UseRenderer matchIfLoggedIn="[true|false]" >
<!-- Request Parameters condition or conditions that will activate this search element renderer -->
<RequestParams includeSessionValues="[ true|false(default) ]" >
<Param name="taxField_1" exactMatch="[ true|false(default) ]" >
<ValidValues> <!-- Any of these values will activate the element renderer -->
<Value matchType="[ equals|contains|startsWith|endsWith ]" >[ a valid value | NOT_NULL ]</Value>
<Value>[ alternate value ]</Value>
</ValidValues>
</Param>
<!-- If the above field is valid, check this field (fields are ANDed) -->
<Param name="[ select_field name ]">
<Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >
</Comparator>
</Param>
</RequestParams>
<!-- Result parameter condition or conditions that will activate this search element renderer -->
<ResultParams > <!-- all results must match -->
<Param name="[ result field name ]">
<ValidValues> <!-- if a result matches any -->
</ValidValues>
</Param>
<!-- If the above field is valid, check this field (fields are ANDed) -->
<Param name="[ result field name ]">
<Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >
</Comparator>
</Param>
</ResultParams>
<!-- User attributes (static or based on current preference settings) -->
<UserParams > <!-- all user attributes must match -->
<Param name="[ user attribute ]">
<ValidValues> <!-- if a result matches any -->
</ValidValues>
</Param>
<!-- If the above field is valid, check this field (fields are ANDed) -->
<param name="[ user attribute ]">
<Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >
</Comparator>
</param>
</UserParams>
<!-- Search Source properties that will activate this search element renderer -->
<SourceParams sourceRequestParam="[ request param with source name ]" >
<Param name="[ source attribute ]" >
<Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >
</Comparator>
</Param>
</SourceParams>
<!-- Nested SearchElementRenderer to use if the above criterion are matched -->
<SearchElementRenderer rendererClass ="A real SearchElementRenderer goes here]" >
<!-- parameters needed by the nested renderer -- >
</SearchElementRenderer>
</UseRenderer>
<UseRenderer>
<!-- alternative renderer criteria: same as above -->
</UseRenderer>
<!-- etc. . . --->
</SearchElementRenderer>
| Constructor Summary | |
DynamicSearchElementRenderer()
|
|
| Method Summary | |
boolean |
canUpdateSearchParams()
|
java.lang.String |
getBody(ISearchFormRenderer parent,
RaritanPageContext pageContext)
Returns the element html fragment. |
ISearchElementRenderer |
getRenderer(java.lang.String name)
Returns ISearchElementRenderer of this render or a nested renderer matching the name given or null if no match is found. |
void |
initialize(org.w3c.dom.Element elem)
Initialize renderer-specific parameters from the configuration XML tag. |
boolean |
isHidden(ISearchFormRenderer parent,
RaritanPageContext pageContext)
|
void |
setEnable(boolean enabled)
Enable/Disable the renderer. |
void |
updateSearchParams(RaritanPageContext pageContext,
OrderedMap searchParams)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public DynamicSearchElementRenderer()
| Method Detail |
public void initialize(org.w3c.dom.Element elem)
ISearchElementRenderer
initialize in interface ISearchElementRendererpublic void setEnable(boolean enabled)
ISearchElementRenderer
setEnable in interface ISearchElementRendererpublic ISearchElementRenderer getRenderer(java.lang.String name)
ISearchElementRenderer
getRenderer in interface ISearchElementRenderer
public java.lang.String getBody(ISearchFormRenderer parent,
RaritanPageContext pageContext)
ISearchElementRenderer
getBody in interface ISearchElementRenderer
public boolean isHidden(ISearchFormRenderer parent,
RaritanPageContext pageContext)
isHidden in interface ISearchElementRendererpublic boolean canUpdateSearchParams()
canUpdateSearchParams in interface ISearchMapModifier
public void updateSearchParams(RaritanPageContext pageContext,
OrderedMap searchParams)
updateSearchParams in interface ISearchMapModifier
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||