Model Class

A Model is a container for persisting a collection of related elements within an iModel. See IModelDb.Models for how to query and manage the Models in an IModelDb. See Creating models

Extends

Extended by

Methods

Name Description
constructor(props: ModelProps, iModel: IModelDb): Model Protected    
collectReferenceIds(referenceIds: EntityReferenceSet): void Protected Collect the Ids of this entity's references at this level of the class hierarchy.  
delete(): void Delete this Model from the iModel.  
getJsonProperty(name: string): any    
getUserProperties(namespace: string): any Get a set of JSON user properties by namespace  
insert(): string Insert this Model in the iModel  
removeUserProperties(nameSpace: string): void Remove a set of JSON user properties, specified by namespace, from this Element  
setJsonProperty(name: string, value: any): void    
setUserProperties(nameSpace: string, value: any): void Change a set of user JSON properties of this Element by namespace.  
toJSON(): ModelProps Obtain the JSON representation of this Entity.  
update(): void Update this Model in the iModel.  
onDelete(arg: OnModelIdArg): void ProtectedStatic Called before a Model is deleted.  
onDeleteElement(_arg: OnElementInModelIdArg): void ProtectedStatic Called when an Element in an instance of a Model of this class is about to be deleted.  
onDeleted(_arg: OnModelIdArg): void ProtectedStatic Called after a Model was deleted.  
onDeletedElement(_arg: OnElementInModelIdArg): void ProtectedStatic Called after an Element in an instance of a Model of this class has been deleted.  
onInsert(arg: OnModelPropsArg): void ProtectedStatic Called before a new Model is inserted.  
onInsertElement(_arg: OnElementInModelPropsArg): void ProtectedStatic Called before a prospective Element is to be inserted into an instance of a Model of this class.  
onInserted(_arg: OnModelIdArg): void ProtectedStatic Called after a new Model is inserted.  
onInsertedElement(_arg: OnElementInModelIdArg): void ProtectedStatic Called after an Element has been inserted into an instance of a Model of this class.  
onUpdate(arg: OnModelPropsArg): void ProtectedStatic Called before a Model is updated.  
onUpdateElement(_arg: OnElementInModelPropsArg): void ProtectedStatic Called when an Element in an instance of a Model of this class is about to be updated.  
onUpdated(_arg: OnModelIdArg): void ProtectedStatic Called after a Model is updated.  
onUpdatedElement(_arg: OnElementInModelIdArg): void ProtectedStatic Called after an Element in an instance of a Model of this class has been updated.  

Inherited methods

Name Inherited from Description
forEachProperty(func: PropertyCallback, includeCustom: boolean = true): void Entity Call a function for each property of this Entity.
getReferenceIds(): EntityReferenceSet Entity Get the set of this entity's entity references, EntityReferenceSet.
is(otherClass: undefined): boolean Static Entity return whether this Entity class is a subclass of another Entity class

Properties

Name Type Description
isPrivate boolean    
isTemplate boolean    
jsonProperties Readonly { T }    
modeledElement Readonly RelatedElement    
name Readonly string    
parentModel Readonly string    

Inherited properties

Name Type Inherited from Description
classFullName Accessor ReadOnly string Entity Get the full BIS class name of this Entity in the form "schema:class".
classFullName Accessor StaticReadOnly string Entity Get the full BIS class name of this Entity in the form "schema:class"
className Accessor ReadOnly string Entity The name of the BIS class associated with this class.
id string Entity The Id of this Entity.
iModel IModelDb Entity The IModelDb that contains this Entity
isInstanceOfEntity Readonly "true" Entity An immutable property used to discriminate between Entity and EntityProps, used to inform the TypeScript compiler that these two types
schema Static undefined Entity The Schema that defines this class.
schemaName Accessor ReadOnly string Entity The name of the BIS Schema that defines this class

Defined in

Last Updated: 16 April, 2024