Home > Class Reference > %SYS namespace > %iFind.Find.Abstract


Internal class implementing actual find code. Do not access directly.


Parameters Properties Methods Queries Indices ForeignKeys Triggers


%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
ContainsItem GetChunk NextChunk NextChunkInclusive
NextItem PreviousChunk PreviousChunkInclusive PreviousItem


method ContainsItem(pItem As %String) as %Boolean
At minimum, must support IsElement(). Return 1 if given e is in the set
method GetChunk(pChunk As %Integer) as %Binary
Note that it's OK for the returned bitmap b to have no bits set to 1, including b="" . On the other hand, it's also OK for the method to skip such a chunk and proceed to the next c . We might also need:
method NextChunk(ByRef pChunk As %Integer = "") as %Binary
The above methods are used to emulate regular sets and bitmaps. To emulate additional bitmap-specific behavior, the following 4 methods are needed. These methods follow the same convention used for SQL bitmap index structures. The chunk# .c is input/output, also proceeding in order starting and ending with "" . When the returned .c is non-NULL, then the actual bitmap chunk of bits is returned in .b : Method NextChunk(pChunk As %Integer = "", ByRef bits As %Binary) As %Integer
method NextChunkInclusive(ByRef pChunk As %Integer = "") as %Binary
Method NextChunkInclusive(pChunk As %Integer = "", ByRef bits As %Binary) As %Integer
method NextItem(pItem As %String = "") as %String
The following 4 methods, esp. the first 2, are needed to emulate a regular index. The element .e is an input/output parameter, iterating in a sequence through all the elements of following the normal subscript order ( "]]" ), starting and ending with "", similar to $ORDER():
method PreviousChunk(ByRef pChunk As %Integer = "") as %Binary
Method PreviousChunk(pChunk As %Integer = "", ByRef bits As %Binary) As %Integer
method PreviousChunkInclusive(ByRef pChunk As %Integer = "") as %Binary
Method PreviousChunkInclusive(pChunk As %Integer = "", ByRef bits As %Binary) As %Integer
method PreviousItem(pItem As %String = "") as %String

The NextItem, NextItemInclusive, PreviousItem, and PreviousItemInclusive methods are required when %INSUB is used.

For a given pItem, return the first item < pItem