Class Reference
%iKnow.Source.Processor
Server:basexml
Instance:SOAXML
User:UnknownUser
 
-
  [BASEXML] >  [%iKnow] >  [Source] >  [Processor]
Private  Storage

abstract class %iKnow.Source.Processor extends %RegisteredObject

This is the base class for any Processor implementations. Processor classes are developed to read source data as referenced (or stored temporarily) by %iKnow.Source.Lister classes in their ExpandList methods. It is up to the Lister to make sure the references they store in this stage refer to the proper Processor implementation and contain the details it needs to find and read that source while executing FetchSource.

Each Processor implementation tackles a specific type of location where source data can be read from, such as a filesystem for %iKnow.Source.File.Processor or a global for %iKnow.Source.Global.Processor.

Processor objects are handled by the loading framework automatically and custom code should never instantiate a Processor object or call any of its methods directly.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
15


Summary

Methods
%%OIDGet %AddToSaveSet %ClassIsLatestVersion %ClassName
%ConstructClone %DispatchClassMethod %DispatchGetModified %DispatchGetProperty
%DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty
%Extends %GetParameter %IsA %IsModified
%New %NormalizeObject %ObjectModified %OriginalNamespace
%PackageName %RemoveFromSaveSet %SerializeObject %SetModified
%ValidateObject GetMetadataKeys ProcessListElement ProcessVirtualListElement
SetConverter SetParams

Subclasses
%iKnow.Source.Domain.Processor %iKnow.Source.File.Processor %iKnow.Source.Global.Processor
%iKnow.Source.Temp.Processor

Methods

• classmethod GetMetadataKeys(params As %String) as %List

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.

• final method ProcessListElement(loc As %Integer, ref As %List, keyid As %Integer, metadata As %String, Output skipped As %Boolean = 0) as %Status

This is the primary method that will be called from the %iKnow.Source.Loader for each source identified by the %iKnow.Source.Lister objects involved in this loading process. It will buffer what's read in the FetchSource implementation, trigger the %iKnow.Source.Converter if one is configured, and then instruct the Indexer to process the resulting plain text, directing its output to the appropriate DirectInput object.

Also, this method will gather any metadata set by the Lister, combine it with metadata calculated by the Processor or Converter and push it to the DirectInput object as well.

• final method ProcessVirtualListElement(loc As %Integer, ref As %List) as %Status
Same as ProcessListElement, but for Virtual Sources.
• final method SetConverter(convId As %Integer, convParams As %String) as %Status

Registers the Converter to be used by this Processor onwards.

• method SetParams(params As %String) as %Status

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.