Metabase > Metabase Assembly Interfaces > ISaveMetabaseObjectHandlers > ISaveMetabaseObjectHandlers.Add
Add(ClassId: MetabaseObjectClass): ISaveMetabaseObjectHandler;
ClassId. Class of objects, for which an event handler is added.
The Add method creates a handler of events that occur on object metadata change for the specified object class.
One of elements of the MetabaseObjectClass enumeration is specified as the value of the ClassId parameter. If an event handler is set for extensions of Foresight Analytics Platform, the required class can be obtained in the IMetabaseCustomExtender.Classes collection in the IMetabaseCustomClass.ClassId property.
Executing the example requires that the repository contains a unit with the MOD_HANDLERS identifier. The unit implements the CSaveTableLog class that contains event handlers.
Add a link to the Metabase system assembly.
Sub AddHandler;
Var
Mb: IMetabase;
SpecObj: ISpecialObjects;
ObjectHandlers: ISaveMetabaseObjectHandlers;
ObjectHandler: ISaveMetabaseObjectHandler;
Begin
Mb := MetabaseClass.Active;
SpecObj := Mb.SpecialObjects(True);
ObjectHandlers := SpecObj.SaveMetabaseObjectHandlers;
ObjectHandler := ObjectHandlers.Add(MetabaseObjectClass.KE_CLASS_TABLE);
ObjectHandler.Assembly := Mb.ItemById("M_HANDLERS");
ObjectHandler.Class_ := "CSaveTableLog";
(SpecObj As IMetabaseObject).Save;
End Sub AddHandler;
After executing the example an event handler is created for repository tables.
See also: