Open Exchange
Global Masters
Home / Class Reference / ENSLIB namespace / %iKnow.Filters.SimpleMetadataFilter
Private  Storage   


class %iKnow.Filters.SimpleMetadataFilter extends

Filter implementation selecting sources based on their metadata values, as set through %iKnow.Queries.MetadataAPI.

Filter parameters:

  1. domainId As %Integer
  2. fieldName As %String - the name of the metadata field to filter by.
  3. filterOperator As %String - the operator to use for filtering (should be a supported one for this metadata field).
  4. filterValue - the value to compare the actual source metadata values against.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
3 6


DomainId FieldId FilterId FilterOperator
FilterValue FilteredSourceCount IsCached Selectivity

%%OIDGet %AddToSaveSet %BindExport
%BuildObjectGraph %ClassIsLatestVersion %ClassName
%Close %ConstructClone %DispatchClassMethod
%DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty
%Extends %GetParameter %IncrementCount
%IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace
%PackageName %RemoveFromSaveSet %SerializeObject
%SetModified %ValidateObject BuildOccurrenceFilter
BuildTypedEntOccFilter BuildUniqueFilter CheckResultCache
CheckResultCacheSingle ClearCachedFilter ClearCachedFilters
CreateAsString CreateFromBitstring CreateGroupAsString
DomainIdSet FieldIdSet FilterOperator
FilterValue FilteredSourceCountGet FromString
GetCRCOccurrenceFilter GetCRCUniqueFilter GetCcUniqueFilter
GetEntityOccurrenceFilter GetEntityUniqueFilter GetFilteredCcFrequency
GetFilteredCcSpread GetFilteredCrcFrequency GetFilteredCrcSpread
GetFilteredCrcUniqueCount GetFilteredEntityFrequency GetFilteredEntitySpread
GetFilteredEntityUniqueCount GetFilteredStemFrequency GetFilteredStemSpread
GetFirstFilteredSource GetLabel GetNextCRCOccurrenceFilterOffset
GetNextCRCUniqueFilterOffset GetNextCcUniqueFilterOffset GetNextEntityOccurrenceFilterOffset
GetNextEntityUniqueFilterOffset GetNextFilterOffset GetNextPathFilterOffset
GetNextSourceFilterOffset GetNextSrcId GetPathFilter
GetSecondaryFilter GetSourceFilter Initialize
Invalidate IsFiltered IsValid
MergeBits RestoreFilterFromId RestoreFilterFromString
SaveFilteredFrequency SaveFilteredSpread SelectivityGet
StoreResultCache StoreResultCacheSingle ToArray
ToBitstring ToString


• property FieldId as %Integer;
• property FilterOperator as %String;
• property FilterValue as %String;


• private method %OnNew(domainId As %Integer, fieldName As %String, filterOperator As %String, filterValue As %String = "") as %Status
This callback method is invoked by the %New method to provide notification that a new instance of an object is being created.

If this method returns an error then the object will not be created.

It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:

Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.

• private method BuildSourceFilter(maxOffset As %Integer) as %Status

This is the primary method that needs to be implemented by an actual %iKnow.Filters.Filter subclass to translate the abstract filter criteria the subclass addresses into a bitstring based on Source IDs. The subclass' implementation of this method should use SetSourceBits for this purpose, setting the requested bitstrings for each offset up to maxOffset.

• method FieldIdSet(fieldId As %Integer) as %Status
This is a Set accessor method for the FieldId property.
• method FilterOperator(operator As %String) as %Status
• method FilterValue(value As %String) as %Status
• method ToString() as %String

Subclasses should implement this method to build a string representation of the filter instance. It should start with the filter class name, followed by a pipe (|) character and then a string representation that can be interpreted by its RestoreFilterFromStringInternal implementation.