API Reference > imodeljs-backend > Elements > Subject Subject Class A Subject is an information element that describes what this repository (or part thereof) is about. See [how to create a Subject element]$(docs/learning/backend/CreateElements.md#Subject). Extends InformationReferenceElement Implements SubjectProps Methods Name Description create(iModelDb: IModelDb, parentSubjectId: string, name: string, description?: string): Subject Static Create a Subject createCode(iModelDb: IModelDb, parentSubjectId: string, codeValue: string): Code Static Create a Code for a Subject given a name that is meant to be unique within the scope of its parent Subject. insert(iModelDb: IModelDb, parentSubjectId: string, name: string, description?: string): string Static Insert a Subject Inherited methods Name Inherited from Description buildConcurrencyControlRequest(opcode: DbOpcode): void InformationReferenceElement 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 InformationReferenceElement Collect the Ids of this element's predecessors at this level of the class hierarchy. delete(): void InformationReferenceElement Delete this Element from the iModel. forEachProperty(func: PropertyCallback, includeCustom: boolean = true): void InformationReferenceElement Call a function for each property of this Entity. getClassMetaData(): undefined | EntityMetaData InformationReferenceElement Get the class metadata for this element. getDisplayLabel(): string InformationReferenceElement Get a display label for this Element. getJsonProperty(nameSpace: string): any InformationReferenceElement Get a JSON property of this element, by namespace getPredecessorIds(): Id64Set InformationReferenceElement Get the Ids of this element's predecessors. getToolTipMessage(): string[] InformationReferenceElement Get a list of HTML strings that describe this Element for the tooltip. getUserProperties(namespace: string): any InformationReferenceElement Get a set of JSON user properties by namespace insert(): string InformationReferenceElement Insert this Element into the iModel. removeUserProperties(nameSpace: string): void InformationReferenceElement Remove a set of JSON user properties, specified by namespace, from this Element setJsonProperty(nameSpace: string, value: any): void InformationReferenceElement setUserProperties(nameSpace: string, value: any): void InformationReferenceElement Change a set of user JSON properties of this Element by namespace. update(): void InformationReferenceElement Update this Element in the iModel. is(otherClass: undefined): boolean Static InformationReferenceElement return whether this Entity class is a subclass of another Entity class onAllInputsHandled(_id: string, _iModel: IModelDb): void ProtectedStatic InformationReferenceElement 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 InformationReferenceElement Called when a root element in a subgraph is changed and before its outputs are processed. onChildAdd(_arg: OnChildElementPropsArg): void ProtectedStatic InformationReferenceElement 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 InformationReferenceElement Called after an existing element has been updated so that an instance of this class is its new parent. onChildDelete(_arg: OnChildElementIdArg): void ProtectedStatic InformationReferenceElement Called when an element with an instance of this class as its parent is about to be deleted. onChildDeleted(_arg: OnChildElementIdArg): void ProtectedStatic InformationReferenceElement Called after an element with an instance of this class as its parent was successfully deleted. onChildDrop(_arg: OnChildElementIdArg): void ProtectedStatic InformationReferenceElement 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 InformationReferenceElement 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 InformationReferenceElement Called when a new element with an instance of this class as its parent is about to be inserted. onChildInserted(_arg: OnChildElementIdArg): void ProtectedStatic InformationReferenceElement Called after a new element with an instance of this class as its parent was inserted. onChildUpdate(_arg: OnChildElementPropsArg): void ProtectedStatic InformationReferenceElement Called when an element with an instance of this class as its parent is about to be updated. onChildUpdated(_arg: OnChildElementIdArg): void ProtectedStatic InformationReferenceElement 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 InformationReferenceElement Called during the iModel transformation process after an Element from the source iModel was cloned for the target iModel. onDelete(arg: OnElementIdArg): void ProtectedStatic InformationReferenceElement Called before an Element is deleted. onDeleted(_arg: OnElementIdArg): void ProtectedStatic InformationReferenceElement Called after an Element was deleted. onInsert(arg: OnElementPropsArg): void ProtectedStatic InformationReferenceElement Called before a new Element is inserted. onInserted(arg: OnElementIdArg): void ProtectedStatic InformationReferenceElement Called after a new Element was inserted. onSubModelDelete(_arg: OnSubModelIdArg): void ProtectedStatic InformationReferenceElement Called when a sub-model of an instance of this class is being deleted. onSubModelDeleted(_arg: OnSubModelIdArg): void ProtectedStatic InformationReferenceElement Called after a sub-model of an instance of this class was deleted. onSubModelInsert(_arg: OnSubModelPropsArg): void ProtectedStatic InformationReferenceElement Called when an instance of this class is being sub-modeled by a new Model. onSubModelInserted(_arg: OnSubModelIdArg): void ProtectedStatic InformationReferenceElement Called after an instance of this class was sub-modeled by a new Model. onUpdate(arg: OnElementPropsArg): void ProtectedStatic InformationReferenceElement Called before an Element is updated. onUpdated(arg: OnElementIdArg): void ProtectedStatic InformationReferenceElement Called after an Element was updated. populateRequest(req: ConcurrencyControl.Request, props: ElementProps, iModel: IModelDb, opcode: DbOpcode, original: undefined | ElementProps): void Static InformationReferenceElement Disclose the codes and locks needed to perform the specified operation on this element Properties Name Type Description description undefined | string Inherited properties Name Type Inherited from Description classFullName Accessor ReadOnly string InformationReferenceElement Get the full BIS class name of this Entity in the form "schema:class". classFullName Accessor StaticReadOnly string InformationReferenceElement Get the full BIS class name of this Entity in the form "schema:class" className Accessor ReadOnly string InformationReferenceElement The name of the BIS class associated with this class. code Code InformationReferenceElement The Code for this element federationGuid undefined | string InformationReferenceElement A FederationGuid assigned to this element by some other federated database id string InformationReferenceElement The Id of this Entity. iModel IModelDb InformationReferenceElement The IModelDb that contains this Entity jsonProperties Readonly { T } InformationReferenceElement Optional json properties of this element. model Readonly string InformationReferenceElement The ModelId of the Model containing this element parent undefined | RelatedElement InformationReferenceElement The parent element, if present, of this element. schema Static undefined InformationReferenceElement The Schema that defines this class. schemaName Accessor ReadOnly string InformationReferenceElement The name of the BIS Schema that defines this class userLabel undefined | string InformationReferenceElement A user-assigned label for this element. Defined in core/backend/src/Element.ts Line 764 Last Updated: 12 June, 2024