com.raritantechnologies.searchApp.formatters
Class DelimitedStringResultParser

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

public class DelimitedStringResultParser
extends java.lang.Object
implements IResultParser, IFieldFormatter

Converts a patterned string (such as an HTTP Get Request) into an IResult object.

Can be used as an IResultParser to convert a delimited string into an IResult or as an IFieldFormatter to expand a delimited string field into multiple field/value pairs within an existing IResult.

IResultParser configuration:

XML Configuration Template:
   <ResultParser class="com.raritantechnologies.searchApp.formatters.DelimitedStringResultParser"
                    fieldDelimiter="[ delimiter separating fields. e.g. '&' in HTTP ]"
                    valueDelimiter="[ delimiter separating field from value: e.g. '=' in HTTP ]" >

     <!-- Optional IStringFilter that modifies the delimited string prior to parsing -->
     <StringFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]" >

     </StringFilter>

   </ResultParser>
 

IFieldFormatter configuration:

XML Configuration Template:
   <FieldFormatter class="com.raritantechnologies.searchApp.formatters.DelimitedStringResultParser"
                      fieldDelimiter="[ delimiter separating fields. e.g. '&' in HTTP ]"
                      valueDelimiter="[ delimiter separating field from value: e.g. '=' in HTTP ]"
                      fieldID="[ result field that contains the delimited string to be parsed ]" >

     <!-- Optional IStringFilter that modifies the delimited string prior to parsing -->
     <StringFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]" >

     </StringFilter>

   </FieldFormatter>
 


Field Summary
 
Fields inherited from interface com.raritantechnologies.searchApp.IResultParser
TEMPLATE
 
Fields inherited from interface com.raritantechnologies.searchApp.IFieldFormatter
TEMPLATE
 
Constructor Summary
DelimitedStringResultParser()
           
 
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.
 IResult parse(java.lang.String dataString)
          Create an IResult object from the formatted data string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelimitedStringResultParser

public DelimitedStringResultParser()
Method Detail

parse

public IResult parse(java.lang.String dataString)
Description copied from interface: IResultParser
Create an IResult object from the formatted data string.

Specified by:
parse in interface IResultParser

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 IConfigurable

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.

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