class %iKnow.Source.Global.Processor extends %iKnow.Source.Processor
This Processor implementation reads data from global nodes, as listed by the ExpandList method of the %iKnow.Source.Global.Lister.
- type As %Integer - format of global data:
- 0 - single node (default)
- 1 - top node has count with subnodes 1..n having data
- 2 - top node has metadata, subnodes 1..n have data
- separator As %String - default "", but could use " ", $c(13,10) or $c(10), " . " to either keep each node separated, or on separate line, or separate sentence.
- metadataFields As %String - for type 2 only, list of metadata fields in top node
Extracted metadata keys: [None]
This is the primary method that will need to be implemented by subclasses. It gets the local ID of the source being processed (as assigned by the lister) and the Composite Reference in %List format. Data read by the Processor should be buffered through calling ..Buffer.BufferString(), which will automatically forward the data to the iKnow Indexing engine or, if configured, a %iKnow.Source.Converter object that will in turn push converted data through to the engine.
If this Processor also extracts metadata while reading (as specified in its GetMetadataKeys() implementation), it should make sure to invoke SetCurrentMetadataValues() at some point in this methods execution.
Subclasses should override this method to identify those metadata keys that are calculated or extracted by this Processor implementation and will be registered for every source processed by calling SetCurrentMetadataValues() during the FetchSource() execution.
This method stores the Processor parameters in the Params property, from where they can be referenced in the FetchSource() implementation.
NOTE: If this method is overridden by a subclass, it should make sure to either call this method via ##super, or set Params itself.