abstract class %iKnow.Source.Converter
This is the base class for any Converter implementations. Converter classes are used during the processing
step to extract textual data and, optionally, source metadata from the context of different file formats.
If a converter is defined in the loading process, the processor will call this object to extract the required
data before the data is pushed to the iKnow Indexer.
Converter objects are handled by the loading framework automatically and custom code should
never instantiate a Converter object or call any of its methods directly.
method BufferString(data As %String)
This method takes the raw input text and buffers it internally in the converter. The text is provided in
chunks of 32k. Every custom converter will need to implement this method so that it can take in the raw
classmethod GetMetadataKeys(params As %String)
This method is called after all data has been buffered. In this method the converter will need to parse the
raw data and extract/convert it into plain text data. If any metadata is present within the document the converter
can extract that metadata here, and provide it to the system. Metadata can be reported by using the SetCurrentMetadataValues
If the Converter extracts metadata, this method should return a list of keys of the metadata fields that are
extracted from the contents. The values will be exposed in the Convert method in the same order as they are
method SetParams(params As %String)
When conversion is done, this method will be called to fetch the converted data back from the converter. The method
should return the converted text in chuncks of maximum 32k in size. When no more data is available, the method should
return the empty string ("") to signal that all data has been transferred.
classmethod Test(ByRef pInput As %String, pParams As %List = "", Output pSC As %Status)
Utility method called by the %iKnow.Source.Processor and %iKnow.Source.Loader
logic to register any new or changed parameter values.
Utility method to test a converter class. pInput can be either a straight string,
or an array of string values that need to be concatenated. The result is a straight string.