SfcInstance SfcInstance SfcInstance Class

Definition

The base class for all Sfc object types in a domain.

public abstract class SfcInstance : Microsoft.SqlServer.Management.Sdk.Sfc.ISfcDiscoverObject, Microsoft.SqlServer.Management.Sdk.Sfc.ISfcPropertyProvider, System.ComponentModel.INotifyPropertyChanged
type SfcInstance = class
    interface ISfcDiscoverObject
    interface ISfcPropertyProvider
    interface ISfcNotifyPropertyMetadataChanged
    interface INotifyPropertyChanged
Public MustInherit Class SfcInstance
Implements INotifyPropertyChanged, ISfcDiscoverObject, ISfcPropertyProvider
Inheritance
SfcInstanceSfcInstanceSfcInstance
Derived
Implements

Constructors

SfcInstance() SfcInstance() SfcInstance()

Properties

AbstractIdentityKey AbstractIdentityKey AbstractIdentityKey
Metadata Metadata Metadata
Parent Parent Parent

Parent is not something that is kept local, it is implied from the keychain The concept of a parent is really about the hiearchy up and under the root if we only do this via parents then we will not be able to instantiate objects with only lightweight SfcKeyChain sets

Setting the parent is therefor a helper operation to set a keychain

Properties Properties Properties
PropertyStorageProvider PropertyStorageProvider PropertyStorageProvider

This property returns the default implementation of SFC for ISfcPropertyStorageProvider interface, it can be overriden in the child classes to return another storage provider (i.e. flat properties list)

State State State
Urn Urn Urn

Create a new Urn string on each request and return it.

Methods

AlterImpl() AlterImpl() AlterImpl()
CheckObjectCreated() CheckObjectCreated() CheckObjectCreated()

To be called from domain for when an API requires the object to be Created Stronger than CheckObjectState

CheckObjectState() CheckObjectState() CheckObjectState()

To be called from domain for any access to the object

CreateIdentityKey() CreateIdentityKey() CreateIdentityKey()
CreateImpl() CreateImpl() CreateImpl()
Discover(ISfcDependencyDiscoveryObjectSink) Discover(ISfcDependencyDiscoveryObjectSink) Discover(ISfcDependencyDiscoveryObjectSink)
DropImpl() DropImpl() DropImpl()
GetChildCollection(String) GetChildCollection(String) GetChildCollection(String)

Get the child collection in this instance for the given element name string.

GetDomain() GetDomain() GetDomain()
GetPropertySet() GetPropertySet() GetPropertySet()
GetTypeMetadataImpl() GetTypeMetadataImpl() GetTypeMetadataImpl()
InitializeUIPropertyState() InitializeUIPropertyState() InitializeUIPropertyState()

Overridable from the child objects who care about initializing their states (dynamic metadata which is currently the ".Enabled" property)

MarkForDropImpl(Boolean) MarkForDropImpl(Boolean) MarkForDropImpl(Boolean)
MarkRootAsConnected() MarkRootAsConnected() MarkRootAsConnected()
MoveImpl(SfcInstance) MoveImpl(SfcInstance) MoveImpl(SfcInstance)
OnPropertyMetadataChanges(SfcPropertyMetadataChangedEventArgs) OnPropertyMetadataChanges(SfcPropertyMetadataChangedEventArgs) OnPropertyMetadataChanges(SfcPropertyMetadataChangedEventArgs)
OnPropertyValueChanges(PropertyChangedEventArgs) OnPropertyValueChanges(PropertyChangedEventArgs) OnPropertyValueChanges(PropertyChangedEventArgs)
PostAlter(Object) PostAlter(Object) PostAlter(Object)
PostCreate(Object) PostCreate(Object) PostCreate(Object)
PostDrop(Object) PostDrop(Object) PostDrop(Object)
PostMove(Object) PostMove(Object) PostMove(Object)
PostRename(Object) PostRename(Object) PostRename(Object)
Refresh() Refresh() Refresh()

refreshes the object's properties by reading them from the server

RenameImpl(SfcKey) RenameImpl(SfcKey) RenameImpl(SfcKey)
ResetKey() ResetKey() ResetKey()
Serialize(XmlWriter) Serialize(XmlWriter) Serialize(XmlWriter)
ToString() ToString() ToString()
UpdateUIPropertyState() UpdateUIPropertyState() UpdateUIPropertyState()
Validate() Validate() Validate()

Basic child object's validation

Events

propertyChanged propertyChanged propertyChanged
PropertyChanged PropertyChanged PropertyChanged
propertyMetadataChanged propertyMetadataChanged propertyMetadataChanged
PropertyMetadataChanged PropertyMetadataChanged PropertyMetadataChanged

Applies to