Skip to main content

%iKnow.DomainDefinition

abstract class %iKnow.DomainDefinition extends %Library.RegisteredObject

Subclasses of this class declaratively define an iKnow domain and its contents using an XML representation in the Domain XData block. Compiling this class will automatically create the iKnow domain and any static elements or settings within, such as metadata fields, domain parameters and metrics. Using %Build()) users can then "build" the contents of the domain, loading any sources from the locations referred to in Domain and populating relevant metadata, matching and metrics.

For a detailed reference of the available elements and attributes of this XData block, consult the class reference for %iKnow.Model.domain and other classes in the %iKnow.Model package.

Method Inventory

Methods

final classmethod %Build(pVerbose As %Boolean = 1, ByRef pParams, pAsync As %Boolean = 0) as %Status

Invoking this method will build the domain described in Domain, which includes loading data and dictionaries, matching dictionaries and building metrics, depending on the various settings of the <domain> element and its sub-elements.

The pVerbose argument controls whether status output is provided to stdev (if pAsync=0) or written to a global for GUI pickup (pAsync=1, for internal use only).

final classmethod %DropData(pDropDictionaries As %Boolean = 1, pDropBlackLists As %Boolean = 0) as %Status
Drops all non-static data from the domain defined by this class. Depending on the values of pDropDictionaries and pDropBlackLists, dictionary info and blacklists are purged as well.
classmethod %GetDomainId() as %Integer
Returns the domain ID corresponding to the domain defined in Domain
classmethod %GetDomainName() as %String
Returns the domain name as defined in Domain
classmethod %GetExpressionValue(pName As %String, Output pValue As %String, ByRef pParams) as %Status
Evaluates the expression named pName and returns the result by reference.
classmethod %OnAfterBuild(pDomainId As %Integer) as %Status

Callback invoked at the end of %Build(). Subclasses can implement this method to execute custom code at the end of a domain build operation.

classmethod %OnAfterDropData(pDomainId As %Integer, pDropDictionaries As %Boolean = 1, pDropBlackLists As %Boolean = 1) as %Status

Callback invoked at the end of %DropData(). Subclasses can implement this method to execute custom code at the end of a drop data operation.

classmethod %OnBeforeBuild(pDomainId As %Integer) as %Status

Callback invoked at the start of %Build(). Subclasses can implement this method to execute custom code at the start of a domain build operation.

classmethod %OnBeforeDropData(pDomainId As %Integer, pDropDictionaries As %Boolean = 1, pDropBlackLists As %Boolean = 1) as %Status

Callback invoked at the start of %DropData(). Subclasses can implement this method to execute custom code at the start of a drop data operation.

final classmethod %UpdateDictionaries(pDropFirst As %Boolean = 0, pMatch As %Boolean = 1, pVerbose As %Boolean = 1, ByRef pParams, pAsync As %Boolean = 0) as %Status

This method will update dictionaries based on the current contents of the <matching> element in Domain, without making any changes to the current data (in terms of sources) already stored in the domain. If pMatch is 1, all sources in the domain will be matched after the dictionaries are updated. If pDropFirst is 1, the current dictionaries will first be dropped from the domain, otherwise only new dictionary entries will be added (no updates or deletions of existing entries).

Build parameters passed through pParams will be used to override default expression values used in the dictionary definitions in the same way as in %Build().

The pVerbose argument controls whether status output is provided to stdev (if pAsync=0) or written to a global for GUI pickup (pAsync=1, for internal use only).

final classmethod %UpdateMetrics(pDropFirst As %Boolean = 1, pVerbose As %Boolean = 1) as %Status

This method will explicitly rebuild all metrics in the domain described in Domain, optionally dropping any existing values first if pDropFirst is 1.

See also the BuildAll() method in %iKnow.Metrics.MetricBuilder.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab