# Class BuildingComponentSublayerExtension

Extends the capabilities of an Esri `BuildingComponentSublayer` object.

#### Hierarchy (view full)

- BuildingSublayerExtension<BuildingComponentSublayerExtensionProperties>
  - BuildingComponentSublayerExtension

#####
Index

### Constructors

constructor

### Properties

_effectiveFullExtent
_id
_itemType
_watchHandles
@eventTypes
iconUrl?
layerListSettings
onAddFeature?
onEditFeature?
queryService?
factory

### Accessors

canChangeDefinitionExpression
canChangeLabels
canChangeOpacity
canChangeRenderer
canChangeScale
canToggleVisibility
capabilities
effectiveFullExtent
effectiveMaxScale
effectiveMinScale
enableClientSideData
failureMode
featureActions
featureSettings
featureSourceActions
hasFeatures
hyperlinks
id
initialDefinitionExpression
initialRenderer
initialVisibility
isDestroyed
isEffectivelyVisible
isInitialized
itemType
layerExtension
parentSublayerExtension
relationships
renderer
schema
sublayer
sublayerExtensions
supportsSublayers
taskSettings
title
visibilityMode

### Methods

_addAttachment
_addFeatures
_applySublayerProperties
_capabilities
_createFeatureSettings
_createHyperlinks
_createLayerListSettings
_createRelationships
_createSchema
_createSublayer
_createSublayerExtensionCollection
_createSublayerRef
_createTaskSettings
_deleteAttachments
_deleteFeatures
_getAttachments
_getFeatures
_getSerializableProperties
_initializableChildCollections
_initializeChildren
_isRelationship
_isSupportedSublayer
_onDestroy
_onInitialize
_onSublayerAddedPostInitialize
_postInitialize
_serializeSublayer
_toPropertyDef
_updateFeatures
_watchSublayerProperties
addAttachment
addFeature
addFeatures
assignProperties
assignPropertiesAsync
deleteAttachments
deleteFeature
deleteFeatures
destroy
finishAssignProperties
getAttachments
getDefault
getDefaults
getFeature
getFeatures
getFullExtent
getSerializableProperties
initialize
toItemUri
toJSON
updateFeature
updateFeatures
create

##
Constructors

### constructor

- new BuildingComponentSublayerExtension(properties?): BuildingComponentSublayerExtension

- #### Parameters

  - `Optional` properties: BuildingComponentSublayerExtensionProperties

  #### Returns BuildingComponentSublayerExtension

  Overrides BuildingSublayerExtension.constructor

##
Properties

### `Protected`_effectiveFullExtent

_effectiveFullExtent: Extent

See mapping/_SublayerExtension!SublayerExtension.effectiveFullExtent.

Inherited from BuildingSublayerExtension._effectiveFullExtent

### `Protected`_id

_id: string

The unique ID for this entity. Once set, this should never change.

Inherited from BuildingSublayerExtension._id

### `Protected` `Readonly`_itemType

_itemType: string = ItemType.SUBLAYER_EXTENSION

The item type for this entity when it participates in an App.

Inherited from BuildingSublayerExtension._itemType

### `Protected` `Readonly`_watchHandles

_watchHandles: ResourceHandle[] = []

A set of watch handles that get cleaned up when the class instance is destroyed.

Inherited from BuildingSublayerExtension._watchHandles

### @eventTypes

@eventTypes: InitializableBaseEvents

#### Deprecated

Do not directly reference this property. Use EventNames and EventTypes helpers from @arcgis/core/Evented.

Inherited from BuildingSublayerExtension.@eventTypes

### `Optional` iconUrl

iconUrl?: string

URL to an icon that represents this feature source.

Inherited from BuildingSublayerExtension.iconUrl

### `Readonly` layerListSettings

layerListSettings: LayerListSettings

Settings that affect the behavior and presentation of the sublayer in the layer list.

Inherited from BuildingSublayerExtension.layerListSettings

### `Optional` onAddFeature

onAddFeature?: Action

The action to be executed when a feature is added.

Inherited from BuildingSublayerExtension.onAddFeature

### `Optional` onEditFeature

onEditFeature?: Action

The action to be executed when a feature is edited.

Inherited from BuildingSublayerExtension.onEditFeature

### `Optional` queryService

queryService?: QueryService

An optional query service that the feature source can use to get features.

Inherited from BuildingSublayerExtension.queryService

### `Static` factory

factory: SublayerExtensionFactory

The factory that will be used whenever a new sublayer extension needs to be created. Applications can supply their own factory to customize sublayer extension creation.

Inherited from BuildingSublayerExtension.factory

##
Accessors

### canChangeDefinitionExpression

- get canChangeDefinitionExpression(): boolean

- Determines whether the type of sublayer being extended supports changing its definition expression.

  #### Returns boolean

  Overrides BuildingSublayerExtension.canChangeDefinitionExpression

### canChangeLabels

- get canChangeLabels(): boolean

- Determines whether the type of sublayer being extended supports changing labels. Default is false.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.canChangeLabels

### canChangeOpacity

- get canChangeOpacity(): boolean

- Determines whether the type of sublayer being extended supports changing opacity. Sublayers belonging to tiled layers cannot have their opacity changed, for example. The default is true.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.canChangeOpacity

### canChangeRenderer

- get canChangeRenderer(): boolean

- Determines whether the type of sublayer being extended supports changing its renderer.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.canChangeRenderer

### canChangeScale

- get canChangeScale(): boolean

- Determines whether the type of sublayer being extended supports changing Scale. Sublayers belonging to tiled layers cannot have their scale changed, for example. The default is true.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.canChangeScale

### canToggleVisibility

- get canToggleVisibility(): boolean

- Determines whether the type of sublayer being extended supports toggling visibility. Sublayers belonging to tiled layers cannot have their visibilities toggled, for example. The default is true.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.canToggleVisibility

### capabilities

- get capabilities(): QuerySourceCapabilities

- Capabilities of the feature source.

  #### Returns QuerySourceCapabilities

  Inherited from BuildingSublayerExtension.capabilities

### effectiveFullExtent

- get effectiveFullExtent(): Extent

- The effective full extent of this sublayer extension.

  #### Returns Extent

  Inherited from BuildingSublayerExtension.effectiveFullExtent

### effectiveMaxScale

- get effectiveMaxScale(): number

- The effective max scale for this sublayer extension.

  #### Returns number

  Inherited from BuildingSublayerExtension.effectiveMaxScale

### effectiveMinScale

- get effectiveMinScale(): number

- The effective min scale for this sublayer extension.

  #### Returns number

  Inherited from BuildingSublayerExtension.effectiveMinScale

### enableClientSideData

- get enableClientSideData(): boolean

- Indicates that the layer's data should be available client-side, within the graphics that render on the map. Client-side data allows for fast identify operations to be performed, as no external queries are necessary; however, this can cause the map's load time to increase. When enabled, all fields that are configured in the layer's PopupTemplate will load client-side. The default is false.

  #### Returns boolean

- set enableClientSideData(isEnabled): void

- #### Parameters

  - isEnabled: boolean

  #### Returns void

### failureMode

- get failureMode(): FailureMode

- Determines how a parent object should handle initialization failure in this object. The default is "warn".

  - `"error"`: support/InitializeError!InitializeError is thrown.
  - `"warn"`: Message is logged and support/InitializableBase!InitializeWarningEvent is raised.
  - `"ignore"`: support/InitializableBase!InitializeWarningEvent is raised.

  #### Returns FailureMode

  Inherited from BuildingSublayerExtension.failureMode

- set failureMode(value): void

- #### Parameters

  - value: FailureMode

  #### Returns void

  Inherited from BuildingSublayerExtension.failureMode

### featureActions

- get featureActions(): Menu<MenuItemProperties, MenuProperties, MenuItem<MenuItemProperties, MenuProperties>>

- A menu for actions specifically related to features from this source.

  #### Returns Menu<MenuItemProperties, MenuProperties, MenuItem<MenuItemProperties, MenuProperties>>

  Inherited from BuildingSublayerExtension.featureActions

- set featureActions(value): void

- A menu for actions specifically related to features from this source.

  #### Parameters

  - value: Menu<MenuItemProperties, MenuProperties, MenuItem<MenuItemProperties, MenuProperties>>

  #### Returns void

  Inherited from BuildingSublayerExtension.featureActions

### featureSettings

- get featureSettings(): FeatureSettings

- Default settings that apply to features originating from this source.

  #### Returns FeatureSettings

  Inherited from BuildingSublayerExtension.featureSettings

### featureSourceActions

- get featureSourceActions(): Menu<MenuItemProperties, MenuProperties, MenuItem<MenuItemProperties, MenuProperties>>

- A menu for actions specifically related to this source.

  #### Returns Menu<MenuItemProperties, MenuProperties, MenuItem<MenuItemProperties, MenuProperties>>

  Inherited from BuildingSublayerExtension.featureSourceActions

- set featureSourceActions(value): void

- A menu for actions specifically related to this source.

  #### Parameters

  - value: Menu<MenuItemProperties, MenuProperties, MenuItem<MenuItemProperties, MenuProperties>>

  #### Returns void

  Inherited from BuildingSublayerExtension.featureSourceActions

### hasFeatures

- get hasFeatures(): boolean

- Determines whether this type of layer is capable of producing features.

  #### Returns boolean

  Overrides BuildingSublayerExtension.hasFeatures

### hyperlinks

- get hyperlinks(): Collection<Hyperlink>

- Hyperlinks associated with the feature source.

  #### Returns Collection<Hyperlink>

  Inherited from BuildingSublayerExtension.hyperlinks

### id

- get id(): string

- The unique ID for this entity.

  #### Returns string

  Inherited from BuildingSublayerExtension.id

### initialDefinitionExpression

- get initialDefinitionExpression(): string

- String value containing the initial definition expression configured on the layer.

  #### Returns string

  Inherited from BuildingSublayerExtension.initialDefinitionExpression

### initialRenderer

- get initialRenderer(): Renderer

- A clone of the initial renderer, if any, that the ESRI layer uses to display data on the map.

  #### Returns Renderer

  Inherited from BuildingSublayerExtension.initialRenderer

### initialVisibility

- get initialVisibility(): boolean

- Indicates the initial layer visibility.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.initialVisibility

### isDestroyed

- get isDestroyed(): boolean

- See support/InitializableBase!Initializable.isDestroyed.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.isDestroyed

### isEffectivelyVisible

- get isEffectivelyVisible(): boolean

- The effective visibility for this sublayer extension.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.isEffectivelyVisible

### isInitialized

- get isInitialized(): boolean

- See support/InitializableBase!Initializable.isInitialized.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.isInitialized

### itemType

- get itemType(): string

- The item type for this entity when it participates in an App.

  #### Returns string

  Inherited from BuildingSublayerExtension.itemType

### layerExtension

- get layerExtension(): BuildingSceneLayerExtension

- The layer extension that this sublayer extension belongs to.

  #### Returns BuildingSceneLayerExtension

  Inherited from BuildingSublayerExtension.layerExtension

### parentSublayerExtension

- get parentSublayerExtension(): SublayerExtension<SublayerExtensionProperties>

- The sublayer extension that this sublayer extension belongs to.

  #### Returns SublayerExtension<SublayerExtensionProperties>

  Inherited from BuildingSublayerExtension.parentSublayerExtension

### relationships

- get relationships(): Collection<Relationship>

- Relationships to other feature sources.

  #### Returns Collection<Relationship>

  Inherited from BuildingSublayerExtension.relationships

### renderer

- get renderer(): RendererUnion

- The renderer, if any, that the ESRI sublayer uses to display data on the map.

  #### Returns RendererUnion

  Overrides BuildingSublayerExtension.renderer

### schema

- get schema(): Schema

- Metadata about features originating from this source, such as fields, domains, and geometry type.

  #### Returns Schema

  Inherited from BuildingSublayerExtension.schema

### sublayer

- get sublayer(): BuildingComponentSublayer

- The sublayer that is being extended.

  #### Returns BuildingComponentSublayer

  Overrides BuildingSublayerExtension.sublayer

### sublayerExtensions

- get sublayerExtensions(): SublayerExtensionCollection

- The sublayer extensions associated with each sublayer of this sublayer.

  #### Returns SublayerExtensionCollection

  Inherited from BuildingSublayerExtension.sublayerExtensions

### supportsSublayers

- get supportsSublayers(): boolean

- Determines whether this type of sublayer is capable of having sublayers.

  #### Returns boolean

  Inherited from BuildingSublayerExtension.supportsSublayers

### taskSettings

- get taskSettings(): TaskSettings

- Settings that affect whether a feature source participates in various tasks that are performed on a map.

  #### Returns TaskSettings

  Inherited from BuildingSublayerExtension.taskSettings

### title

- get title(): string

- See data/FeatureSource!FeatureSource.title.

  #### Returns string

  Inherited from BuildingSublayerExtension.title

### visibilityMode

- get visibilityMode(): GroupLayerVisibilityMode

- Indicates how to manage the visibility of the children layers.

  #### Returns GroupLayerVisibilityMode

  Inherited from BuildingSublayerExtension.visibilityMode

- set visibilityMode(value): void

- #### Parameters

  - value: GroupLayerVisibilityMode

  #### Returns void

  Inherited from BuildingSublayerExtension.visibilityMode

##
Methods

### `Protected`_addAttachment

- _addAttachment(feature, attachment): Promise<Attachment>

- Called to add an attachment to a feature. Subclasses must override this if they support feature attachments.

  #### Parameters

  - feature: Feature

    The feature to add the attachment to.

  - attachment: AttachmentProperties | Attachment | File

    The attachment to add to the feature.

  #### Returns Promise<Attachment>

  Inherited from BuildingSublayerExtension._addAttachment

### `Protected`_addFeatures

- _addFeatures(features, options?): Promise<void>

- Called to add new features. Subclasses must override this if they support adding features.

  #### Parameters

  - features: Iterable<Feature, any, any>

    The features to add.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the feature is saved.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension._addFeatures

### `Protected`_applySublayerProperties

- _applySublayerProperties(properties, sublayer): Promise<void>

- Called to apply properties to the sublayer for this sublayer extension.

  #### Parameters

  - properties: BuildingSublayerProperties
  - sublayer: BuildingGroupSublayer | BuildingComponentSublayer

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension._applySublayerProperties

### `Protected`_capabilities

- _capabilities(): QuerySourceCapabilities

- The capabilities of the feature source.

  #### Returns QuerySourceCapabilities

  Overrides BuildingSublayerExtension._capabilities

### `Protected`_createFeatureSettings

- _createFeatureSettings(): FeatureSettings

- Called to create the data/FeatureSettings!FeatureSettings for this feature source.

  #### Returns FeatureSettings

  Overrides BuildingSublayerExtension._createFeatureSettings

### `Protected`_createHyperlinks

- _createHyperlinks(): Collection<Hyperlink>

- Called to create the Hyperlink collection for this feature source.

  #### Returns Collection<Hyperlink>

  Inherited from BuildingSublayerExtension._createHyperlinks

### `Protected`_createLayerListSettings

- _createLayerListSettings(properties?): LayerListSettings

- Called to create the mapping/support/LayerListSettings!LayerListSettings for this sublayer extension.

  #### Parameters

  - `Optional` properties: LayerListSettingsProperties

    Properties used to initialize the layer list settings.

  #### Returns LayerListSettings

  Overrides BuildingSublayerExtension._createLayerListSettings

### `Protected`_createRelationships

- _createRelationships(): Collection<Relationship>

- Called to create the data/_Relationship!Relationship collection for this feature source.

  #### Returns Collection<Relationship>

  Inherited from BuildingSublayerExtension._createRelationships

### `Protected`_createSchema

- _createSchema(): Schema

- Called to create the data/Schema!Schema for this feature source.

  #### Returns Schema

  Overrides BuildingSublayerExtension._createSchema

### `Protected`_createSublayer

- _createSublayer(sublayerProperties): Promise<BuildingComponentSublayer>

- Called to create the sublayer for this sublayer extension.

  #### Parameters

  - sublayerProperties: BuildingSublayerProperties

  #### Returns Promise<BuildingComponentSublayer>

  Overrides BuildingSublayerExtension._createSublayer

### `Protected`_createSublayerExtensionCollection

- _createSublayerExtensionCollection(): SubSublayerExtensionCollection

- Called to create the mapping/support/_SublayerExtensionCollection!SublayerExtensionCollection for this sublayer extension.

  #### Returns SubSublayerExtensionCollection

  Inherited from BuildingSublayerExtension._createSublayerExtensionCollection

### `Protected`_createSublayerRef

- _createSublayerRef(): SublayerProperties

- Creates a $ref for the this sublayer extension's sublayer.

  #### Returns SublayerProperties

  Inherited from BuildingSublayerExtension._createSublayerRef

### `Protected`_createTaskSettings

- _createTaskSettings(): TaskSettings

- Called to create the data/TaskSettings!TaskSettings for this feature source.

  #### Returns TaskSettings

  Inherited from BuildingSublayerExtension._createTaskSettings

### `Protected`_deleteAttachments

- _deleteAttachments(feature, attachments): Promise<void>

- Called to remove attachments from a feature. Subclasses must override this if they support feature attachments.

  #### Parameters

  - feature: Feature

    The feature to delete attachments from.

  - attachments: (string | Attachment)[]

    The attachments or the IDs of the attachments to delete.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension._deleteAttachments

### `Protected`_deleteFeatures

- _deleteFeatures(ids, options?): Promise<void>

- Called to delete features. Subclasses must override this if they support deleting features.

  #### Parameters

  - ids: string[]

    The IDs of the features to delete.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the features are deleted.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension._deleteFeatures

### `Protected`_getAttachments

- _getAttachments(feature): Promise<Attachment[]>

- Called to retrieve attachments for a feature. Subclasses must override this if they support feature attachments.

  #### Parameters

  - feature: Feature

    The feature to get attachments for.

  #### Returns Promise<Attachment[]>

  Inherited from BuildingSublayerExtension._getAttachments

### `Protected`_getFeatures

- _getFeatures(ids, options?): AsyncIterable<Feature, any, any>

- Called to retrieve features. Subclasses must override this if they support querying for features.

  #### Parameters

  - ids: string[]

    The unique IDs of features to retrieve.

  - `Optional` options: FeatureReadOptions

    Options that control what gets returned.

  #### Returns AsyncIterable<Feature, any, any>

  Inherited from BuildingSublayerExtension._getFeatures

### `Protected`_getSerializableProperties

- _getSerializableProperties(): PropertyDefs<BuildingComponentSublayerExtensionProperties>

- The property keys and their metadata that are used to implement serializing and deserializing the class instance.

  #### Returns PropertyDefs<BuildingComponentSublayerExtensionProperties>

  Overrides BuildingSublayerExtension._getSerializableProperties

### `Protected`_initializableChildCollections

- _initializableChildCollections(): IterableIterator<Collection<InitializableBase<InitializableBaseProperties>>, any, any>

- Collections of child items to initialize. Items that fail to initialize are removed from the collection.

  #### Returns IterableIterator<Collection<InitializableBase<InitializableBaseProperties>>, any, any>

  Inherited from BuildingSublayerExtension._initializableChildCollections

### `Protected`_initializeChildren

- _initializeChildren(): Promise<void>

- Initializes child entities.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension._initializeChildren

### `Protected`_isRelationship

- _isRelationship(relationship): boolean

- #### Parameters

  - relationship: Relationship | RelationshipProperties

  #### Returns boolean

  Inherited from BuildingSublayerExtension._isRelationship

### `Protected`_isSupportedSublayer

- _isSupportedSublayer(sublayer): boolean

- Determines whether the sublayer is of the right type for the type of sublayer extension.

  #### Parameters

  - sublayer: SublayerLike

    The sublayer to validate.

  #### Returns boolean

  Overrides BuildingSublayerExtension._isSupportedSublayer

### `Protected`_onDestroy

- _onDestroy(): Promise<void>

- Called to perform cleanup. Subclasses should override this method rather than destroy() to perform custom cleanup.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension._onDestroy

### `Protected`_onInitialize

- _onInitialize(): Promise<void>

- Called to perform initialization of the support/InitializableBase!InitializableBase. Subclasses should override this method rather than initialize() to perform custom initialization.

  #### Returns Promise<void>

  Overrides BuildingSublayerExtension._onInitialize

### `Protected` `Readonly`_onSublayerAddedPostInitialize

- _onSublayerAddedPostInitialize(sublayerX): Promise<void>

- A callback executed when a sublayer is added as a child of the LayerExtension, after the LayerExtension has been initialized.

  #### Parameters

  - sublayerX: SublayerExtension<SublayerExtensionProperties>

    The sublayer that was added.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension._onSublayerAddedPostInitialize

### `Protected`_postInitialize

- _postInitialize(): Promise<void>

- Called after normal initialization. Note: Child items are initialized before this is called.

  #### Returns Promise<void>

  Overrides BuildingSublayerExtension._postInitialize

### `Protected`_serializeSublayer

- _serializeSublayer(sublayer): BuildingSublayerProperties

- Serializes a sublayer.

  #### Parameters

  - sublayer: BuildingGroupSublayer | BuildingComponentSublayer

    The sublayer to serialize.

  #### Returns BuildingSublayerProperties

  Inherited from BuildingSublayerExtension._serializeSublayer

### `Protected`_toPropertyDef

- _toPropertyDef<T>(def): PropertyDef<T>

- Converts the value to a PropertyDef object.

  #### Type Parameters

  - T

  #### Parameters

  - def: PropertyDefSerializeMode | PropertyDefSerializeMode[] | PropertyDef<T>

    The value to convert.

  #### Returns PropertyDef<T>

  Inherited from BuildingSublayerExtension._toPropertyDef

### `Protected`_updateFeatures

- _updateFeatures(features, options?): Promise<void>

- Called to update features. Subclasses must override this if they support updating features.

  #### Parameters

  - features: Iterable<Feature, any, any>

    The feature to update.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the feature is saved.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension._updateFeatures

### `Protected`_watchSublayerProperties

- _watchSublayerProperties(): void

- Watches for changes on sublayer properties.

  #### Returns void

  Overrides BuildingSublayerExtension._watchSublayerProperties

### addAttachment

- addAttachment(feature, attachment): Promise<Attachment>

- Adds an attachment to a feature.

  #### Parameters

  - feature: Feature

    The feature to add the attachment to.

  - attachment: AttachmentProperties | Attachment | File

    The attachment to add to the feature.

  #### Returns Promise<Attachment>

  Inherited from BuildingSublayerExtension.addAttachment

### addFeature

- addFeature(feature, _options?): Promise<void>

- Adds a new feature to the source. If the source does not support adding features, then an InvalidOperationError will be thrown (see capabilities).

  #### Parameters

  - feature: Feature

    The feature to add.

  - `Optional`_options: FeatureWriteOptions

    Additional options that control how the feature is saved.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.addFeature

### addFeatures

- addFeatures(features, options?): Promise<void>

- Adds a set of features to the source. If the source does not support adding features, then an InvalidOperationError will be thrown (see capabilities).

  #### Parameters

  - features: FeatureSet

    The features to add.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the features are saved.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.addFeatures

### assignProperties

- assignProperties(properties): void

- #### Parameters

  - properties: Partial<BuildingComponentSublayerExtensionProperties>

  #### Returns void

  #### Inherit Doc

  Inherited from BuildingSublayerExtension.assignProperties

### assignPropertiesAsync

- assignPropertiesAsync(properties): Promise<void>

- #### Parameters

  - properties: Partial<BuildingComponentSublayerExtensionProperties>

  #### Returns Promise<void>

  #### Inherit Doc

  Inherited from BuildingSublayerExtension.assignPropertiesAsync

### deleteAttachments

- deleteAttachments(feature, attachments): Promise<void>

- Deletes attachments from a feature.

  #### Parameters

  - feature: Feature

    The feature to delete attachments from.

  - attachments: (string | Attachment)[]

    The attachments or the IDs of the attachments to delete from the feature.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.deleteAttachments

### deleteFeature

- deleteFeature(id, options?): Promise<void>

- Deletes a feature from its source. If the source does not support deleting features, then an InvalidOperationError will be thrown (see capabilities).

  #### Parameters

  - id: string

    The ID of the feature to delete.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the features are deleted.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.deleteFeature

- deleteFeature(feature, options?): Promise<void>

- Deletes a feature from its source. If the source does not support deleting features, then an InvalidOperationError will be thrown (see capabilities).

  #### Parameters

  - feature: Feature

    The feature to delete.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the features are deleted.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.deleteFeature

### deleteFeatures

- deleteFeatures(ids, options?): Promise<void>

- Deletes features from their source. If the source does not support deleting features, then an InvalidOperationError will be thrown (see capabilities).

  #### Parameters

  - ids: Iterable<string, any, any>

    The IDs of the features to delete.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the features are deleted.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.deleteFeatures

- deleteFeatures(features, options?): Promise<void>

- Deletes features from their source. If the source does not support deleting features, then an InvalidOperationError will be thrown (see capabilities).

  #### Parameters

  - features: Iterable<Feature, any, any>

    The features to delete.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the features are deleted.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.deleteFeatures

### destroy

- destroy(): Promise<void>

- A clean-up function that should get called whenever the item is disposed of.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.destroy

### finishAssignProperties

- finishAssignProperties(): Promise<void>

- #### Returns Promise<void>

  #### Inherit Doc

  Inherited from BuildingSublayerExtension.finishAssignProperties

### getAttachments

- getAttachments(feature): Promise<Attachment[]>

- Gets any attachments associated with a feature.

  #### Parameters

  - feature: Feature

    The feature to get attachments for.

  #### Returns Promise<Attachment[]>

  Inherited from BuildingSublayerExtension.getAttachments

### getDefault

- getDefault<K>(key): BuildingComponentSublayerExtensionProperties[K]

- #### Type Parameters

  - K extends keyof BuildingComponentSublayerExtensionProperties

  #### Parameters

  - key: K

  #### Returns BuildingComponentSublayerExtensionProperties[K]

  #### Inherit Doc

  Inherited from BuildingSublayerExtension.getDefault

### getDefaults

- getDefaults(): BuildingComponentSublayerExtensionProperties

- #### Returns BuildingComponentSublayerExtensionProperties

  #### Inherit Doc

  Inherited from BuildingSublayerExtension.getDefaults

### getFeature

- getFeature(id, options?): Promise<Feature>

- Gets a feature by ID. If no such feature exists, the promise is rejected with an instance of NotFoundError.

  #### Parameters

  - id: string

    The ID of the feature to retrieve.

  - `Optional` options: FeatureReadOptions

    Additional options that control how the feature is retrieved.

  #### Returns Promise<Feature>

  Inherited from BuildingSublayerExtension.getFeature

### getFeatures

- getFeatures(ids, options?): AsyncIterable<Feature, any, any>

- Gets a set of features by their IDs.

  #### Parameters

  - ids: string[]

    The IDs of the features to retrieve.

  - `Optional` options: FeatureReadOptions

    Additional Options that control how the features are retrieved.

  #### Returns AsyncIterable<Feature, any, any>

  Inherited from BuildingSublayerExtension.getFeatures

### getFullExtent

- getFullExtent(): Extent

- Returns the full extent of the source that contains all included features.

  #### Returns Extent

  Inherited from BuildingSublayerExtension.getFullExtent

### getSerializableProperties

- getSerializableProperties(serializeMode?): PropertyDefs<BuildingComponentSublayerExtensionProperties>

- Returns the serializable properties.

  #### Parameters

  - `Optional` serializeMode: SerializeMode

    Optional. If specified, only properties that support the given serialization mode will be returned.

  #### Returns PropertyDefs<BuildingComponentSublayerExtensionProperties>

  Inherited from BuildingSublayerExtension.getSerializableProperties

### initialize

- initialize(): Promise<void>

- Initializes the item.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.initialize

### toItemUri

- toItemUri(): string

- Creates an item:// URI reference to this entity.

  #### Returns string

  Inherited from BuildingSublayerExtension.toItemUri

### toJSON

- toJSON(serializeMode?): BuildingComponentSublayerExtensionProperties

- #### Parameters

  - serializeMode: SerializeMode = "all"

  #### Returns BuildingComponentSublayerExtensionProperties

  #### Inherit Doc

  Inherited from BuildingSublayerExtension.toJSON

### updateFeature

- updateFeature(feature, _options?): Promise<void>

- Saves changes to an existing feature. If the source does not support updating features, then an InvalidOperationError will be thrown (see capabilities).

  #### Parameters

  - feature: Feature

    The feature to update.

  - `Optional`_options: FeatureWriteOptions

    Additional options that control how the feature is saved.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.updateFeature

### updateFeatures

- updateFeatures(features, options?): Promise<void>

- Saves changes to a existing features. If the source does not support updating features, then an InvalidOperationError will be thrown (see capabilities).

  #### Parameters

  - features: FeatureSet

    The features to update.

  - `Optional` options: FeatureWriteOptions

    Additional options that control how the features are saved.

  #### Returns Promise<void>

  Inherited from BuildingSublayerExtension.updateFeatures

### `Static` create

- create(properties): SublayerExtension<SublayerExtensionProperties>

- Creates the appropriate subclass of mapping/_SublayerExtension!SublayerExtension based on the supplied properties. Applications can customize the default creation behavior by supplying a custom factory object (see mapping/_SublayerExtension!SublayerExtension.factory).

  #### Parameters

  - properties: SublayerExtensionProperties

    The sublayer extension properties.

  #### Returns SublayerExtension<SublayerExtensionProperties>

  Inherited from BuildingSublayerExtension.create