Home > Class Reference > %SYS namespace > %iKnow.Filters.GroupFilter


class %iKnow.Filters.GroupFilter extends %iKnow.Filters.Filter

A generic filter to logically combine any number of %iKnow.Filters.Filter subfilter objects using a boolean AND or OR, optionally inverting the result (NOT) if negated is true.

After initially creating a GroupFilter instance, add subfilters to it using AddSubFilter or AddSubFilterString.

Filter parameters:

  1. domainId As %Integer
  2. groupLogic As %Integer - either $$$GROUPFILTERAND or $$$GROUPFILTEROR.
  3. negated As %Boolean - indicates whether or not invert (NOT) the combined filter.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 6


DomainId FilteredSourceCount GroupLogic IsCached
Negated Selectivity
%AddToSaveSet %ClassIsLatestVersion %ClassName
%ConstructClone %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified
%DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified
%New %NormalizeObject %ObjectModified
%OriginalNamespace %PackageName %RemoveFromSaveSet
%SerializeObject %SetModified %ValidateObject
AddSubFilter AddSubFilterString CheckResultCache
CheckResultCacheSingle ClearCachedFilter ClearCachedFilters
CreateAsString CreateFromBitstring CreateGroupAsString
FromString GetCRCOccurrenceFilter GetCRCUniqueFilter
GetCcUniqueFilter GetEntityOccurrenceFilter GetEntityUniqueFilter
GetFilteredCcFrequency GetFilteredCcSpread GetFilteredCrcFrequency
GetFilteredCrcSpread GetFilteredEntityFrequency GetFilteredEntitySpread
GetFilteredEntityUniqueCount GetFilteredStemFrequency GetFilteredStemSpread
GetFirstFilteredSource GetLabel GetNextCRCOccurrenceFilterOffset
GetNextCRCUniqueFilterOffset GetNextCcUniqueFilterOffset GetNextEntityOccurrenceFilterOffset
GetNextEntityUniqueFilterOffset GetNextPathFilterOffset GetNextSourceFilterOffset
GetNextSrcId GetPathFilter GetSourceFilter
GetSubFilterAt GetSubFilterCount Initialize
Invalidate IsFiltered IsValid
RestoreFilterFromId RestoreFilterFromString RestoreFilterFromStringInternal
StoreResultCache StoreResultCacheSingle ToString


property GroupLogic as %Integer [ Final,InitialExpression = $$$GROUPFILTERAND ];
property Negated as %Boolean [ Final,InitialExpression = 0 ];


final method AddSubFilter(SubFilter As %iKnow.Filters.Filter) as %Status

Adds a %iKnow.Filters.Filter object to this instance as a subfilter, which will be ANDed or ORed according to this instances groupLogic property.

final method AddSubFilterString(SubFilterString As %String) as %Status

Adds a %iKnow.Filters.Filter object in its %String format (see ToString) to this instance as a subfilter, which will be ANDed or ORed according to this instances groupLogic property.

final method GetSubFilterAt(index As %Integer) as %iKnow.Filters.Filter
Returns the subfilter at the specified index, if any
final method GetSubFilterCount() as %Integer
Returns the number of subfilters currently registered in this GroupFilter instance.
classmethod RestoreFilterFromStringInternal(filterSpec As %String) as %iKnow.Filters.Filter

Default implementation, with the filterParams corresponding to all %New arguments. See also RestoreFilterFromString.

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.