com.raritantechnologies.searchApp.formatters
Class ContentHandlerFormatter

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

public class ContentHandlerFormatter
extends java.lang.Object
implements IFieldFormatter

FieldFormatter that uses an IContentHandler to add a content field.

XML Configuration Template:
   <FieldFormatter class="com.raritantechnologies.searchApp.formatters.ContentHandlerFormatter"
                      outputID="[ field that gets the content (default - contents)]"
                      sizeOutputID="[ field that gets the content size (default contentSize) ]"
                      setContentSize="[ true|false(default) - if true gets content size]"
                      isBinary="[ true|false(default) - if true Base64 encode the content ]" >

    <LoginProcess>
      <UserName>[ user name ]</UserName>
      <!-- Password can be in the clear or encrypted: -->
      <Password>[ clear text password ]</Password>

      <PasswordEnc>[ encrypted password ]</PasswordEnc>

    </LoginProcess>

     <!-- Optional IResult field to DocumentContentHandler parameter map -->
     <ResultParameterMap>
       <!-- One or more Param tags: -->
       <Param resultField="[ result field ID ]" handlerParam="[ DocumentContentHandler parameter ]" >
     </ResultParameterMap>

     <!-- Map of result field value to IStreamFilter type: Used to extract Text from a binary stream -->
     <StreamFilterMap streamFilterField="[ result field that contains information needed to select an IStreamFilter ]" >

       <!-- Optional StringFilter to modify or parse the result value for subsequent StreamFilter selection -->
       <!-- may be needed to extract a file extension from a file name (for example) -->
       <StringFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]" >

       </StringFilter>

       <!-- One or More StreamFilter tags to handle different types of binary content -->
       <StreamFilter class="[ class of com.raritantechnologies.utils.filter.IStreamFilter ]" 
                        fieldValues="[ value(s) of result 'streamFilterField' that trigger the selection of this IStreamFilter ]" >

       </StreamFilter>

     </StreamFilterMap>

     <ContentHandler class="[ class of com.raritantechnologies.quickstart.userInterface.IDocumentContentHandler ]"
                        usernameField="[ field name that gets userID value ]"
                        passwordField="[ field name that gets password value ]" >

     </ContentHandler>

   </FieldFormatter>
 


Field Summary
 
Fields inherited from interface com.raritantechnologies.searchApp.IFieldFormatter
TEMPLATE
 
Constructor Summary
ContentHandlerFormatter()
           
 
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 result)
          Formats a result field "in place".
 void formatResultField(java.lang.String sessionID, IResult result)
          Formats a result field "in place", incorporating session context.
 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

ContentHandlerFormatter

public ContentHandlerFormatter()
Method Detail

formatResultField

public void formatResultField(java.lang.String sessionID,
                              IResult result)
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.
result - The result object that is to be formatted.

formatResultField

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

Specified by:
formatResultField in interface IFieldFormatter
Parameters:
result - 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 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.

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.

initialize

public void initialize(org.w3c.dom.Element elem)
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