com.raritantechnologies.searchApp.formatters
Class LookupFormatter

java.lang.Object
  extended bycom.raritantechnologies.searchApp.formatters.LookupFormatter
All Implemented Interfaces:
IConfigurable, IFieldFormatter

public class LookupFormatter
extends java.lang.Object
implements IFieldFormatter

Formats an IResult by looking up data from another SearchSource based on values of the result fields.

XML Configuration Template:
   <Formatter 
      formatterClass="com.raritantechnologies.searchApp.formatters.LookupFormatter"
      searchSource="[search source name of lookup]"
      use="[ FIRST(default) | ALL - determines how many of the lookup results should be used ]"
      nestedResultField="field to use to hold entire lookup result(s) if any" >

     <!-- Parameters to extract from the result to create a query to search with -->
     <LookupParams>
       <Param resultID="[ a field in the input result ]" searchID="[ name of param in source ]" >
          <!-- Optional String Filter to modify the result value before using in search query -->
          <StringFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]" >

          </StringFilter>
       </Param>
     </LookupParams>

     <!-- Parameters from the lookup result to add to the source IResult -->
     <ResultParams>
       <Param ID="[ a lookup result field to be added to result ]" 
                 append="[ true|false(default) ]" 
                 delimiter="[ delimiter for appending ]" >
         <!-- Optional String Filter to modify the lookup result value -->
         <StringFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]" >

         </StringFilter>
       </Param>
     </ResultParams>

   </Formatter>
 

Developed by Raritan Technologies .

Author:
Ted Sullivan

Field Summary
 
Fields inherited from interface com.raritantechnologies.searchApp.IFieldFormatter
TEMPLATE
 
Constructor Summary
LookupFormatter()
           
 
Method Summary
 java.lang.String formatField(java.lang.String fieldVal)
          Reformats a field value.
 java.lang.String formatField(java.lang.String sessionID, java.lang.String fieldVal)
          Reformats a field value.
 void formatResultField(IResult res)
          Formats a result field "in place".
 void formatResultField(java.lang.String sessionID, IResult res)
          Formats a result field "in place", incorporating session context.
 java.util.List getAttributes()
           
 java.lang.String getConfigurationXML()
           
 java.lang.String getConfigurationXML(java.lang.String configurationTemplate)
           
 java.lang.String getFieldName()
          Returns the name of the result field that this formatter can reformat.
 void initialize(org.w3c.dom.Element elem)
          Initializes the formatter from configuration XML element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LookupFormatter

public LookupFormatter()
Method Detail

formatResultField

public void formatResultField(IResult res)
Description copied from interface: IFieldFormatter
Formats a result field "in place".

Specified by:
formatResultField in interface IFieldFormatter
Parameters:
res - The result object that is to be formatted.

formatResultField

public void formatResultField(java.lang.String sessionID,
                              IResult res)
Description copied from interface: IFieldFormatter
Formats a result field "in place", incorporating session context.

Specified by:
formatResultField in interface IFieldFormatter
Parameters:
sessionID - The session key needed to lookup any session content stored in the session data cache.
res - The result object that is to be formatted.

getFieldName

public java.lang.String getFieldName()
Description copied from interface: IFieldFormatter
Returns the name of the result field that this formatter can reformat.

Specified by:
getFieldName in interface IFieldFormatter

formatField

public java.lang.String formatField(java.lang.String fieldVal)
Description copied from interface: IFieldFormatter
Reformats a field value.

Specified by:
formatField in interface IFieldFormatter
Parameters:
fieldVal - The field value to be reformatted.
Returns:
The reformatted field value.

formatField

public java.lang.String formatField(java.lang.String sessionID,
                                    java.lang.String fieldVal)
Description copied from interface: IFieldFormatter
Reformats a field value.

Specified by:
formatField in interface IFieldFormatter
Parameters:
sessionID - The session key needed to lookup any session content stored in the session data cache.
fieldVal - The field value to be reformatted.
Returns:
The reformatted field value.

initialize

public void initialize(org.w3c.dom.Element elem)
Description copied from interface: IFieldFormatter
Initializes the formatter from configuration XML element.

Specified by:
initialize in interface IFieldFormatter

getConfigurationXML

public java.lang.String getConfigurationXML()
Specified by:
getConfigurationXML in interface IFieldFormatter

getConfigurationXML

public java.lang.String getConfigurationXML(java.lang.String configurationTemplate)
Specified by:
getConfigurationXML in interface IFieldFormatter

getAttributes

public java.util.List getAttributes()