API Reference > imodeljs-backend > Elements > RoleElement RoleElement Class A real world entity is modeled as a Role Element when a set of external circumstances define an important role (one that is worth tracking) that is not intrinsic to the entity playing the role. For example, a person can play the role of a teacher or a rock can play the role of a boundary marker. Extends Element Extended by FunctionalElement Inherited methods Name Inherited from Description buildConcurrencyControlRequest(opcode: DbOpcode): void Element Add a request for locks, code reservations, and anything else that would be needed to carry out the specified operation. collectPredecessorIds(predecessorIds: Id64Set): void Protected Element Collect the Ids of this element's predecessors at this level of the class hierarchy. delete(): void Element Delete this Element from the iModel. forEachProperty(func: PropertyCallback, includeCustom: boolean = true): void Element Call a function for each property of this Entity. getClassMetaData(): undefined | EntityMetaData Element Get the class metadata for this element. getDisplayLabel(): string Element Get a display label for this Element. getJsonProperty(nameSpace: string): any Element Get a JSON property of this element, by namespace getPredecessorIds(): Id64Set Element Get the Ids of this element's predecessors. getToolTipMessage(): string[] Element Get a list of HTML strings that describe this Element for the tooltip. getUserProperties(namespace: string): any Element Get a set of JSON user properties by namespace insert(): string Element Insert this Element into the iModel. removeUserProperties(nameSpace: string): void Element Remove a set of JSON user properties, specified by namespace, from this Element setJsonProperty(nameSpace: string, value: any): void Element setUserProperties(nameSpace: string, value: any): void Element Change a set of user JSON properties of this Element by namespace. update(): void Element Update this Element in the iModel. is(otherClass: undefined): boolean Static Element return whether this Entity class is a subclass of another Entity class onAllInputsHandled(_id: string, _iModel: IModelDb): void ProtectedStatic Element Called on an element in a graph after all of its inputs have been processed and before its outputs are processed. onBeforeOutputsHandled(_id: string, _iModel: IModelDb): void ProtectedStatic Element Called when a root element in a subgraph is changed and before its outputs are processed. onChildAdd(_arg: OnChildElementPropsArg): void ProtectedStatic Element Called when an existing element is about to be updated so that an instance of this class will become its new parent. onChildAdded(_arg: OnChildElementIdArg): void ProtectedStatic Element Called after an existing element has been updated so that an instance of this class is its new parent. onChildDelete(_arg: OnChildElementIdArg): void ProtectedStatic Element Called when an element with an instance of this class as its parent is about to be deleted. onChildDeleted(_arg: OnChildElementIdArg): void ProtectedStatic Element Called after an element with an instance of this class as its parent was successfully deleted. onChildDrop(_arg: OnChildElementIdArg): void ProtectedStatic Element Called when an element with an instance of this class as its parent is about to be updated change to a different parent. onChildDropped(_arg: OnChildElementIdArg): void ProtectedStatic Element Called after an element with an instance of this class as its previous parent was updated to have a new parent. onChildInsert(_arg: OnChildElementPropsArg): void ProtectedStatic Element Called when a new element with an instance of this class as its parent is about to be inserted. onChildInserted(_arg: OnChildElementIdArg): void ProtectedStatic Element Called after a new element with an instance of this class as its parent was inserted. onChildUpdate(_arg: OnChildElementPropsArg): void ProtectedStatic Element Called when an element with an instance of this class as its parent is about to be updated. onChildUpdated(_arg: OnChildElementIdArg): void ProtectedStatic Element Called after an element with an instance of this the class as its parent was updated. onCloned(_context: IModelCloneContext, _sourceProps: ElementProps, _targetProps: ElementProps): void ProtectedStatic Element Called during the iModel transformation process after an Element from the source iModel was cloned for the target iModel. onDelete(arg: OnElementIdArg): void ProtectedStatic Element Called before an Element is deleted. onDeleted(_arg: OnElementIdArg): void ProtectedStatic Element Called after an Element was deleted. onInsert(arg: OnElementPropsArg): void ProtectedStatic Element Called before a new Element is inserted. onInserted(arg: OnElementIdArg): void ProtectedStatic Element Called after a new Element was inserted. onSubModelDelete(_arg: OnSubModelIdArg): void ProtectedStatic Element Called when a sub-model of an instance of this class is being deleted. onSubModelDeleted(_arg: OnSubModelIdArg): void ProtectedStatic Element Called after a sub-model of an instance of this class was deleted. onSubModelInsert(_arg: OnSubModelPropsArg): void ProtectedStatic Element Called when an instance of this class is being sub-modeled by a new Model. onSubModelInserted(_arg: OnSubModelIdArg): void ProtectedStatic Element Called after an instance of this class was sub-modeled by a new Model. onUpdate(arg: OnElementPropsArg): void ProtectedStatic Element Called before an Element is updated. onUpdated(arg: OnElementIdArg): void ProtectedStatic Element Called after an Element was updated. populateRequest(req: ConcurrencyControl.Request, props: ElementProps, iModel: IModelDb, opcode: DbOpcode, original: undefined | ElementProps): void Static Element Disclose the codes and locks needed to perform the specified operation on this element Inherited properties Name Type Inherited from Description classFullName Accessor ReadOnly string Element Get the full BIS class name of this Entity in the form "schema:class". classFullName Accessor StaticReadOnly string Element Get the full BIS class name of this Entity in the form "schema:class" className Accessor ReadOnly string Element The name of the BIS class associated with this class. code Code Element The Code for this element federationGuid undefined | string Element A FederationGuid assigned to this element by some other federated database id string Element The Id of this Entity. iModel IModelDb Element The IModelDb that contains this Entity jsonProperties Readonly { T } Element Optional json properties of this element. model Readonly string Element The ModelId of the Model containing this element parent undefined | RelatedElement Element The parent element, if present, of this element. schema Static undefined Element The Schema that defines this class. schemaName Accessor ReadOnly string Element The name of the BIS Schema that defines this class userLabel undefined | string Element A user-assigned label for this element. Defined in core/backend/src/Element.ts Line 1543 Last Updated: 12 June, 2024