Mixin Class

Beta  

A Typescript class representation of a Mixin.

Extends

Methods

Name Description
constructor(schema: Schema, name: string): Mixin    
applicableTo(entityClass: EntityClass): Promise<boolean>    
createNavigationProperty(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): Promise<NavigationProperty> Protected    
createNavigationPropertySync(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): NavigationProperty Protected    
fromJSON(mixinProps: MixinProps): Promise<void>    
fromJSONSync(mixinProps: MixinProps): void    
toJSON(standalone: boolean = false, includeSchemaVersion: boolean = false): MixinProps Save this Mixin's properties to an object for serializing to JSON.  

Inherited methods

Name Inherited from Description
addCustomAttribute(customAttribute: CustomAttribute): void Protected ECClass  
addProperty<T extends Property<T>>(prop: T): T Protected ECClass Convenience method for adding an already loaded ECProperty used by create*Property methods.
buildPropertyCache(result: Property[], existingValues?: Map<string, number>, resetBaseCaches: boolean = false): Promise<void> Protected ECClass  
buildPropertyCacheSync(result: Property[], existingValues?: Map<string, number>, resetBaseCaches: boolean = false): void Protected ECClass  
createPrimitiveArrayProperty(name: string, primitiveType: PrimitiveType): Promise<PrimitiveArrayProperty> Protected ECClass Creates a PrimitiveArrayECProperty.
createPrimitiveArrayProperty(name: string, primitiveType: Enumeration): Promise<EnumerationArrayProperty> Protected ECClass  
createPrimitiveArrayPropertySync(name: string, primitiveType: PrimitiveType): PrimitiveArrayProperty Protected ECClass Creates a PrimitiveArrayECProperty.
createPrimitiveArrayPropertySync(name: string, primitiveType: Enumeration): EnumerationArrayProperty Protected ECClass  
createPrimitiveProperty(name: string, primitiveType: PrimitiveType): Promise<PrimitiveProperty> Protected ECClass Creates a PrimitiveECProperty.
createPrimitiveProperty(name: string, primitiveType: Enumeration): Promise<EnumerationProperty> Protected ECClass  
createPrimitivePropertySync(name: string, primitiveType: PrimitiveType): PrimitiveProperty Protected ECClass Creates a PrimitiveECProperty.
createPrimitivePropertySync(name: string, primitiveType: Enumeration): EnumerationProperty Protected ECClass  
createStructArrayProperty(name: string, structType: string | StructClass): Promise<StructArrayProperty> Protected ECClass  
createStructArrayPropertySync(name: string, structType: string | StructClass): StructArrayProperty Protected ECClass  
createStructProperty(name: string, structType: string | StructClass): Promise<StructProperty> Protected ECClass  
createStructPropertySync(name: string, structType: string | StructClass): StructProperty Protected ECClass  
getAllBaseClasses(): AsyncIterableIterator<ECClass> ECClass Iterates (recursively) over all base classes and mixins, in "property override" order.
getAllBaseClassesSync(): Iterable<AnyClass> ECClass  
getBaseClassSync(): undefined | ECClass ECClass  
getCustomAttributes(): Promise<CustomAttributeSet> ECClass Retrieve all custom attributes in the current class and its bases
getCustomAttributesSync(): CustomAttributeSet ECClass Retrieve all custom attributes in the current class and its bases.
getInheritedProperty(name: string): Promise<undefined | Property> ECClass Searches the base class, if one exists, for the property with the name provided.
getInheritedPropertySync(name: string): undefined | Property ECClass Searches the base class, if one exists, for the property with the name provided.
getProperties(resetCache: boolean = false): Promise<Property[]> ECClass Iterates all properties, including the ones merged from base classes and mixins.
getPropertiesSync(resetCache: boolean = false): Property[] ECClass Iterates all properties, including the ones merged from base classes and mixins.
getProperty(name: string, includeInherited: boolean = false): Promise<undefined | Property> ECClass Searches, case-insensitive, for a local ECProperty with the name provided.
getPropertySync(name: string, includeInherited: boolean = false): undefined | Property ECClass Searches, case-insensitive, for a local ECProperty with the name provided.
is(targetClass: string, schemaName: string): Promise<boolean> ECClass Indicates if the targetClass is of this type.
is(targetClass: ECClass): Promise<boolean> ECClass  
isSync(targetClass: ECClass): boolean ECClass A synchronous version of the ECClass.is, indicating if the targetClass is of this type.
loadPrimitiveType(primitiveType: undefined | string | PrimitiveType | Enumeration, schema: Schema): Promise<PrimitiveType | Enumeration> Protected ECClass  
loadPrimitiveTypeSync(primitiveType: undefined | string | PrimitiveType | Enumeration, schema: Schema): PrimitiveType | Enumeration Protected ECClass  
loadStructType(structType: undefined | string | StructClass, schema: Schema): Promise<StructClass> Protected ECClass  
loadStructTypeSync(structType: undefined | string | StructClass, schema: Schema): StructClass Protected ECClass  
traverseBaseClasses(callback: (ecClass: ECClass, arg?: any) => boolean, arg?: any): Promise<boolean> ECClass Asynchronously traverses through the inheritance tree, using depth-first traversal, calling the given callback
traverseBaseClassesSync(callback: (ecClass: ECClass, arg?: any) => boolean, arg?: any): boolean ECClass Synchronously traverses through the inheritance tree, using depth-first traversal, calling the given callback
equalByKey(thisSchemaItem: SchemaItem, thatSchemaItemOrKey?: SchemaItem | SchemaItemKey): boolean Static ECClass Indicates if the two SchemaItem objects are equal by comparing their respective ECClass.key properties.
mergeProperties(target: Property[], existingValues: Map<string, number>, propertiesToMerge: Property[], overwriteExisting: boolean): void ProtectedStatic ECClass  
parseFullName(fullName: string): [string, string] Static ECClass Parses the given full name, {schemaName}.{schemaItemName} or {schemaName}:{schemaItemName}, into two separate strings.

Properties

Name Type Description
_appliesTo Protected undefined | LazyLoadedEntityClass    
appliesTo Accessor ReadOnly undefined | LazyLoadedEntityClass    
schemaItemType Readonly Mixin    

Inherited properties

Name Type Inherited from Description
_baseClass Protected undefined | LazyLoadedECClass ECClass  
_description Protected undefined | string ECClass  
_key Protected SchemaItemKey ECClass  
_label Protected undefined | string ECClass  
_modifier Protected ECClassModifier ECClass  
_properties Protected undefined | Map<string, Property> ECClass  
baseClass Accessor undefined | LazyLoadedECClass ECClass  
customAttributes Accessor ReadOnly undefined | CustomAttributeSet ECClass  
description Accessor ReadOnly undefined | string ECClass  
fullName Accessor ReadOnly string ECClass  
key Accessor ReadOnly SchemaItemKey ECClass  
label Accessor ReadOnly undefined | string ECClass  
modifier Accessor ReadOnly ECClassModifier ECClass  
name Accessor ReadOnly string ECClass  
properties Accessor ReadOnly undefined | IterableIterator<Property> ECClass  
schema Readonly Schema ECClass  

Defined in

Last Updated: 11 June, 2024