com.raritantechnologies.concept.classifier
Class DynamicDocumentClassifier

java.lang.Object
  extended bycom.raritantechnologies.concept.classifier.DynamicDocumentClassifier
All Implemented Interfaces:
IConfigurable, IFieldFormatter

public class DynamicDocumentClassifier
extends java.lang.Object
implements IFieldFormatter

Enables DocumentClassifiers to be loaded/unloaded based on a request or session name. Keeps a static list of currently loaded DocumentClassifiers.

Implements javax.servlet.http.HttpSessionBindingListener so that the unused document classifiers can be cleaned up when a user session is completed.

XML Configuration Template:
   <FieldFormatter class="com.raritantechnologies.concept.classifier.DynamicDocumentClassifier" 
                      classifierNameParam="[ name of session or result field: for session use SESSION:theName for result use RESULT:theField ]" >

     <DocumentClassifier name="[ name of this classifier ]" >
       <!-- see DocumentClassifier for configuration format -->
     </DocumentClassifier>

   </FieldFormatter>
 


Field Summary
 
Fields inherited from interface com.raritantechnologies.searchApp.IFieldFormatter
TEMPLATE
 
Constructor Summary
DynamicDocumentClassifier()
           
 
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.
 void valueBound(HttpSessionBindingEvent event)
           
 void valueUnbound(HttpSessionBindingEvent event)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicDocumentClassifier

public DynamicDocumentClassifier()
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()
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)
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

valueBound

public void valueBound(HttpSessionBindingEvent event)

valueUnbound

public void valueUnbound(HttpSessionBindingEvent event)