%iKnow.Source.Converterabstract 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 Convert() as %Status
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 data.
classmethod GetMetadataKeys(params As %String) as %List
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 function.
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 reported here. method NextConvertedPart() as %String
method SetParams(params As %String) as %Status
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) as %String
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.