Microsoft.VisualStudio.Modeling Namespace
The Modeling namespace deals with additions, deletions, and modifications of elements and links when a model is created or modified.
The Modeling namespace classes allow your code to create and modify elements and links within transactions. The Store is the class that represents the contents (elements and links) of a model in memory. Whenever you programmatically make changes to a model, these changes must be done within a Transaction.
You can define rules that are run when certain things happen, such as an element or a link being added, changed, or deleted.
You can also subscribe to be notified when an event such as a transaction being rolled back occurs.
The difference between rules and events is that rules are fired within a transaction while events are fired after a transaction is committed.
Classes
Class | Description | |
---|---|---|
AddRule | Represents a rule that is called when an object is added to the model. | |
AmbiguousMonikerException | ||
AncestorVisitorFilter | Visits all aggregating relationships. | |
BreadthFirstRolePlayerFirstElementWalker | Enables breadth-first traversals of the model. | |
CalculatedPropertyValueHandler<TElement, TValue> | Base class for calculated domain property handlers. | |
ChainingElementVisitorFilter | Represents a chaining filter, which adds filters to a list. | |
ChangeRule | Represents a rule that is called when a change happens to an element in the model. | |
ClosureContextHelper | Provides methods to add and retrieve closure context information to and from a particular element walker context. | |
ClosureElementOperation | Represents closure element operations. | |
ClosureFindAndRelateElementOperation | Represents a closure operation to mark a find or create target element operation. | |
ClosureFindAndRelateOrDeleteCopiedElementOperation | Represents a closure operation to find and relate to an element or delete the copied element if the target is not found. | |
ClosureFindElementOperation | Represents a closure operation that marks a find target element operation. | |
ClosureFindOrCreateAndRelateElementOperation | Represents a closure operation that marks a find or create target element operation. | |
ClosureFindOrCreateElementOperation | Represents a closure operation that marks a find or create target element operation. | |
Context | Contains the mapping of transactions to partitions. | |
CopyOriginContext | Provides information about the origin of the ElementGroupPrototype. | |
CoreDomainModel | Represents the domain model that defines the basic elements used by all domain models. | |
DefaultVisitorFilter | Visits all aggregate relationships. | |
DeleteRule | Represents a rule that is called when an object is deleted from the model. | |
DeletingRule | Represents a rule that is called when an element is being deleted in the model. | |
DepthFirstElementAndLinkWalker | Enables depth-first traversals of the model starting from a particular element or group of elements. | |
DepthFirstElementWalker | Enables depth-first traversals of the model starting from a particular element or group of elements. | |
DeserializationEndingEventArgs | Provides data for the DeserializationEnding event and notifies listeners that deserialization has ended. | |
DomainClassInfo | Represents a domain class. | |
DomainClassXmlSerializer | Represents the base class for all generated domain serializers. | |
DomainDataDirectory | Stores metadata about the domain models in the store. | |
DomainDataNotFoundException | This exception is thrown by the DomainDataDirectory class when a domain element that has a specific identity is not found in the directory. | |
DomainModel | Represents a domain model. | |
DomainModel.DomainMemberInfo | Stores information about a domain property in a domain model. | |
DomainModel.DomainRolePlayerInfo | Stores information that is used by the domain model reflector to locate a domain role. | |
DomainModelInfo | Represents a domain model definition. | |
DomainObjectIdAttribute | Represents the ID of a domain object. | |
DomainObjectInfo | Represents an element in a domain model. | |
DomainPropertyAttribute | Indicates that the target is a domain property of a domain class. | |
DomainPropertyInfo | Represents a property of a domain class. | |
DomainPropertyValueHandler | Represents the base class for domain property value handlers. | |
DomainPropertyValueHandler<TElement, TValue> | Represents the base class for strong-type domain property handlers. | |
DomainRelationshipAttribute | Indicates that the target is a domain relationship. | |
DomainRelationshipInfo | Represents the metadata about a domain relationship. | |
DomainRelationshipXmlSerializer | Represents the base class for all generated domain serializers for domain relationships. | |
DomainRoleAttribute | Indicates that the target is a domain role of a domain relationship. | |
DomainRoleInfo | Represents a role of a domain relationship. | |
DomainXmlSerializationBehavior | Represents all XML serialization behavior-generated classes. | |
DomainXmlSerializerDirectory | Combines XML serialization behaviors from different domain models together. | |
DomainXmlSerializerDirectoryEntry | Associates one domain class ID to its DomainClassXmlSerializer type. | |
ElementAddedEventArgs | Provides data for the ElementAdded event. | |
ElementAddedEventManager | Manages element added events. | |
ElementClosureWalker | Represents a walker that builds closures on model elements. | |
ElementDeletedEventArgs | Provides data for the ElementDeleted event. | |
ElementDeletedEventManager | Manages element removed events. | |
ElementDeletingEventArgs | Provides data for the ElementDeleting event. | |
ElementDeserializedRule | ||
ElementEventArgs | Provides data for notifications associated with a model element. | |
ElementEventManager | In derived classes, provides a mechanism for observers to register for and be notified of changes to an element within the scope of the store. | |
ElementEventsBegunEventArgs | Provides data for the ElementEventsBegun event. | |
ElementEventsBegunEventManager | Manages events that have begun for elements. | |
ElementEventsEndedEventArgs | Provides data for the ElementEventsEnded event. | |
ElementEventsEndedEventManager | Manages element events ended events. | |
ElementFactory | Represents a factory of domain model objects. | |
ElementGroup | Provides a way to collect elements and element links. | |
ElementGroupContext | Stores context information about an element group. | |
ElementGroupPrototype | Contains the information necessary to recreate an ElementGroup in any store. | |
ElementLink | Base class for model element links. | |
ElementMovedEventArgs | Provides data for the ElementMoved event. | |
ElementMovedEventManager | Manages element moved events. | |
ElementNameAttribute | Indicates the target domain property provides the element name property. | |
ElementNameProvider | Represents a name provider for domain elements. | |
ElementOperations | Provides common operations that act upon a collection of model elements. | |
ElementPropertyChangedEventArgs | Provides data for the ElementPropertyChanged event. | |
ElementPropertyChangedEventManager | Manages element property changed events. | |
ElementWalker | Enables various traversals of the model starting from a particular element. | |
EmbeddingVisitorFilter | Visits all embedding relationships. | |
EventManagerDirectory | Enables you to add or remove custom code to run when an event is raised. | |
ExistingElementEventManager | In a derived class, manages element events. | |
ExtendsDomainModelAttribute | Indicates the domain model that this domain model extends. | |
GenericEventArgs | Abstract base class for all event arguments for element events. | |
GlobalEventManager | When overridden in a derived class, enables observers to register for and be notified of changes within a store. | |
InternalModelingErrorException | Represents the exception that is thrown when an internal error occurs inside the modeling engine. | |
InvalidDomainModelException | Represents an exception that is thrown when an error is encountered with the metadata assigned to a domain model. | |
LinkedElementCollection<T> | Provides a collection of all elements that are linked to an element. | |
MergeAbortedException | Represents an exception that is thrown when a merge operation on a domain model is aborted by the user. | |
MergeContext | Provides merge information initially set by the merge process when the objects of a ElementGroupPrototype are reconstituted into the target store. | |
MergeElementGroupEventArgs | Provides data for the MergeElementGroup event. | |
ModelElement | Represents a domain model element. | |
ModelingEventArgs | Provides data for modeling events. | |
ModelingException | Represents the base class for several exceptions thrown by the modeling engine. | |
Moniker | Contains an expression used to map to its element. | |
MonikerKey | Represents the key of a Moniker. | |
MoveRule | Represents a rule that is called when an object is moved in the model. | |
Partition | Provides a logical container for elements in a store. | |
PartitionDictionary | Represents a collection of partitions. | |
PropagateDeleteVisitorFilter | Visits all PropagateRemove relationships. | |
PropertyAssignment | Represents a property assignment pair that consists of property ID and a property value. | |
ProtoElement | Represents the prototype class for an element. | |
ProtoElementBase | Represents the prototype for the element. | |
ProtoGroup | Contains the information to re-create an ElementGroup in the context of any store. | |
ProtoLink | Contains the information needed to recreate an ElementLink in any store. | |
ProtoPropertyValue | Contains the information necessary to populate an attribute value for a particular model element. | |
ProtoRolePlayer | Contains the data necessary to set the role player data on an ElementLink. | |
ReadOnlyLinkedElementCollection<T> | Represents a strongly-typed read-only collection of element instances on the opposite side of a relationship. | |
RoleAssignment | Provides information to initialize a role that is assigned to a link element. | |
RolePlayerChangedEventArgs | Provides data for the RolePlayerChanged event. | |
RolePlayerChangedEventManager | Manages events that are changed by the role. | |
RolePlayerChangeRule | Represents a rule that is called when a role player in the model changes. | |
RolePlayerOrderChangedEventArgs | Provides data for the RolePlayerOrderChanged event. | |
RolePlayerOrderChangedEventManager | Manages events that are changed when the order of the model elements that are assigned to roles change. | |
RolePlayerPositionChangeRule | Represents a rule that is called when a model element that is assigned to a specific role changes position in the model. | |
RootElementSettings | ||
Rule | When overridden in a derived class, compares rules and determines when they are raised. | |
RuleManager | Controls whether rules are enabled or disabled. | |
RuleOnAttribute | Signifies that the class to which this attribute is applied is a rule. | |
SerializationContext | Defines the context of a serialization operation. | |
SerializationException | Throws a SerializationResult as an exception. | |
SerializationMessage | Represents a serialization message. | |
SerializationResult | Represents a serialization result. | |
SerializationUtilities | Provides utilities for serialization. | |
SimpleMonikerResolver | Resolves simple string references when the model is serialized using the default XML serialization. | |
Store | The store contains an in-memory representation of the elements and links in one or more models. | |
Transaction | A transaction makes sure that changes that were made to the store are treated as a group that can be committed or rolled back. | |
TransactionBeginningEventArgs | Provides data for the TransactionBeginning event. | |
TransactionBeginningEventManager | Manages transaction beginning events. | |
TransactionBeginningRule | Represents a rule that is called when a transaction is beginning in the model. | |
TransactionCommitEventArgs | Provides data for the TransactionCommit event. | |
TransactionCommittedEventManager | Manages transaction committed events. | |
TransactionCommittingRule | Represents a rule that is called when a transaction is in progress in the model. | |
TransactionContext | Appends user data to a transaction. | |
TransactionEventArgs | Provides data for transaction events. | |
TransactionEventManager | Represents the base class for managing notifications of transaction events. | |
TransactionItem | Represents a transaction item. | |
TransactionLog | Represents a container of transaction events. | |
TransactionManager | Creates Transaction objects and keeps track of the current active transaction. | |
TransactionRollbackEventArgs | ||
TransactionRolledBackEventManager | Manages transaction rollback events. | |
TransactionRollingBackRule | Represents a rule that is called when a transaction is being rolled back in the model. | |
UndoItemEventArgs | Provides data for the UndoItem event. | |
UndoManager | Provides the functionality for undo and redo operations. | |
UndoRedoCanceledException | Represents the exception that is thrown when an undo or redo operation has been canceled. | |
VisitorFilters | Returns various standard visitor filters. |
Structures
Structure | Description | |
---|---|---|
ReadOnlyLinkedElementCollection<T>.Enumerator | Provides an enumerator over a ReadOnlyLinkedElementCollection |
Interfaces
Interface | Description | |
---|---|---|
IElementDirectory | Directory of model elements that are contained within a store or a partition. | |
IElementVisitor | Defines the traversal of a model. | |
IElementVisitorFilter | Provides a callback mechanism for filtering out which role players and which relationships should be visited during traversal by an ElementWalker. | |
IMergeElements | Allows classes in derived models to access the merge functionality on a model element. | |
IMonikerResolver | Resolves a moniker to its element. | |
ISchemaResolver |
Delegates
Delegate | Description | |
---|---|---|
CanCommitCallback | ||
CanUndoRedoCallback | Determines if an undo or redo operation can proceed, based on external criteria. |
Enumerations
Enumeration | Description | |
---|---|---|
ChangeSource | Indicates the source of a change that was made during a transaction. | |
ClosureType | Describes the type of closure to create. | |
CompletionStatus | Describes how the transaction was completed. | |
DeleteState | Identifies the state of the element being deleted. | |
DomainPropertyKind | Specifies the type of domain property. | |
DomainRoleOrder | Specifies the direction of a domain role in a domain relationship. | |
Multiplicity | Indicates the multiplicity for a domain role. | |
SerializationMessageKind | Formats the serialization message. | |
TimeToFire | Determines when to call the rule. | |
UndoState | Describes the undo state in the UndoManager. | |
VisitorFilterResult | Indicates whether an element should be visited. |