Microsoft.VisualStudio.Modeling Namespace

Classes

AddRule

Base class for registering element added notification rule

AmbiguousMonikerException

This exception is thrown when two elements in the store are giving the same moniker.

AncestorVisitorFilter

Class that implements a IElementVisitorFilter that visits all aggregating relationships.

BreadthFirstRolePlayerFirstElementWalker

Class to enable breadth first traversals of the model starting from a particular element or group of elements. This walker also guarantees that roleplayers of relationships are visited first before the relationship is visited.

CalculatedPropertyValueHandler<TElement,TValue>

Base class for calculated domain property handlers.

ChainingElementVisitorFilter

Standardized chaining visitor filter that takes a list of other filters to work on.

ChangeRule

Base class for registering element property changed notification rule

ClosureContextHelper

Provides methods to add and retrieve closure context information to and from a particular element walker context.

ClosureElementOperation

Base closure element operation

ClosureFindAndRelateElementOperation

Closure operation that is used to mark a find or create target element operation

ClosureFindAndRelateOrDeleteCopiedElementOperation

Closure operation that is used to find and relate to an element or delete the copied element if the target is not found

ClosureFindElementOperation

Closure operation that is used to mark a find target element operation

ClosureFindOrCreateAndRelateElementOperation

Closure operation that is used to mark a find or create target element operation

ClosureFindOrCreateElementOperation

Closure operation that is used to mark a find or create target element operation

Context

Context contains the mapping of transactions to partitions

CopyClosureFilter

Base class for copy closure visitor filter

CopyOriginContext

Provides information regarding the origin of the ElementGroupPrototype.

CoreCopyClosure

Copy closure visitor filter

CoreCopyClosureBase

Base class for copy closure visitor filter

CoreDeleteClosure

Remove closure visitor filter

CoreDeleteClosureBase

Base class for remove closure visitor filter

CoreDomainModel

DomainModel CoreDomainModel Core domain model that defines the base domain classes and relationships from which all other domain types inherit.

CoreDomainModelSerializationBehavior

A DomainXmlSerializationBehavior implementation for defined behavior CoreDomainModelSerializationBehavior.

DefaultVisitorFilter

Class that implements a IElementVisitorFilter that visits all aggregate relationships.

DeleteRule

Base class for registering element deleted notification rule

DeletingRule

Base class for registering element deleting pre-notification rules

DependsOnDomainModelAttribute

Attribute class used to specify the domain model the current domain model extends.

DepthFirstElementAndLinkWalker

Class to enable depth first traversals of the model starting from a particular element or group of elements. Guarantees that elements and element links are visited in an interleaved fashion. For instance: A | B (link) C | D (link) E

would be visited in the order: A, B, C, D, E, assuming IncludeLinks=true. Note that the DepthFirstElementWalker class only makes the depth-first guarantee for elements, so any traversal containing the elements A, C, E in order would be valid.

DepthFirstElementWalker

Class to enable depth first traversals of the model starting from a particular element or group of elements.

DeserializationEndingEventArgs

DeserializationEndingEventArgs - used to notify that Deserialization has ended

DomainClassInfo

Represents a domain class.

DomainClassXmlSerializer

This is the base class for all generated domain serializers.

DomainDataDirectory

Stores information about domain models loaded into the Store.

DomainDataNotFoundException

The exception that is thrown by the DomainDataDirectory class when domain object with requested identity is not found in the directory.

DomainModel

Domain model instantiated in a Store.

DomainModel.DomainMemberInfo

Stores information used by domain model reflector to locate a domain property.

DomainModel.DomainRolePlayerInfo

Stores information used by domain model reflector to locate a domain role.

DomainModelExtensionProvider

Defines the MEF contract for a type that provides a mapping between a domain model extension and the domain model it extends

DomainModelInfo

Represents a domain model definition.

DomainModelOwnerAttribute

This attribute is placed on MEL classes in DSL generated code to be able to statically map back to the corresponding domain model class. This mapping is required to support type-level TypeDescriptors on MEL classes since we need to instantiate a Store to get type information at design time.

DomainModelSerializerAttribute

Custom attribute used to indicate that a class is a domain model serializer, and the type of domain model it serializes.

DomainObjectIdAttribute

This attribute is applied to domain model elements (classes, properties etc) to specify their unique ID.

DomainObjectInfo

Represents an element of domain model.

DomainPropertyAttribute

Attribute class used to mark domain properties of domain classes (optional).

DomainPropertyInfo

Represents a property of a domain class.

DomainPropertyValueHandler<TElement,TValue>

Base class for strongly-typed domain property handlers.

DomainPropertyXmlSerializer

The base class for all custom domain property serializers

DomainRelationshipAttribute

Attribute class used to mark the domain relationships (optional).

DomainRelationshipInfo

Represents a domain relationship.

DomainRelationshipXmlSerializer

This is the base class for all generated domain serializers for domain relationships.

DomainRoleAttribute

Attribute class used to mark the domain roles of a domain relationship.

DomainRoleInfo

Represents a role of a domain relationship.

DomainXmlSerializationBehavior

This is the base class for all XmlSerializationBehavior-generated classes.

DomainXmlSerializerDirectory

This class is meant to be used at runtime to combine all XmlSerializationBehaviors and xml namespaces from different DomainModels together. Typically, a user will choose more than one models (e.g. one for in-memory model and one for presentation elements). Each model will need an associated behavior to get serialized/deserialized properly. Since relationships can connect model elements across domains, it is necessary to have a single lookup that maps all used DomainClasses to their serializers.

DomainXmlSerializerDirectoryEntry

An tuple that wraps one DomainClassId to its DomainClassXmlSerializer type.

DomainXmlSerializerNamespaceEntry

An tuple that links one Domain Model to its xml namepace type.

DomainXmlTypeSerializerDirectoryEntry

An tuple that maps a type to the serializer type to use.

ElementAddedEventArgs

Event Arguments for notification of the creation of a new ModelElement

ElementAddedEventManager

Class that manages Element Added Events

ElementClosureWalker

Walker that builds closures on Model Elements

ElementDeletedEventArgs

Event Arguments for notification of the removal of an ModelElement

ElementDeletedEventManager

Class that manages Element Removed Events

ElementDeletingEventArgs

Event Arguments for notification of the pending removal of a ModelElement

ElementDeserializedRule

A rule that fires when new ModelElements are created, used by SimpleMonikerResolver to monitor new elements.

ElementEventArgs

Event arguments for notifications associated with an ModelElement

ElementEventManager

Abstract Class that serves as a base to manage Element Events

ElementEventsBegunEventArgs

Event arguments marking the beginning of element event notifications

ElementEventsBegunEventManager

Class that manages Element Events Begun Events

ElementEventsEndedEventArgs

Event arguments marking the end of element event notifications

ElementEventsEndedEventManager

Class that manages Element Events Ended Events

ElementFactory

A factory of domain model objects.

ElementGroup

ElementGroup provides a way to collect elements and element links.

ElementGroupContext

Stores context information about an element group.

ElementGroupPrototype

ElementGroupPrototype contains the information necessary to recreate an ElementGroup in any store.

ElementLink

Base class for model element links.

ElementMovedEventArgs

Event Arguments for notification of the creation of a new ModelElement

ElementMovedEventManager

Class that manages Element Moved Events

ElementNameAttribute

This attribute is used to mark domain property as the element name property.

ElementNameProvider

Name provider for domain elements.

ElementOperations

The class used to provide common operations that act upon a collection of ModelElements.

ElementPropertyChangedEventArgs

Event Arguments for notifications that the value of an attribute has changed

ElementPropertyChangedEventManager

Class that manages Element Property Changed Events

ElementWalker

Class to enable various traversals of the model starting from a particular element.

EmbeddingVisitorFilter

Class that implements a IElementVisitorFilter that visits all embedding relationships.

EventManagerDirectory

Summary description for EventManagerDirectory.

ExistingElementEventManager

Abstract Class that serves as a base for managing Element Events

ExtendsDomainModelAttribute

Attribute class used to specify the domain model the current domain model extends.

ExtensionElement

Base class for all domain model element extensions.

ExtensionElementSerializer

Serializer ExtensionElementSerializer for DomainClass ExtensionElement.

ExtensionExtendsElement

DomainRelationship ExtensionExtendsElement Reference relationship between ElementExtension and ModelElement

ExtensionExtendsElementSerializer

Serializer ExtensionExtendsElementSerializer for DomainClass ExtensionExtendsElement.

GenericEventArgs

Abstract base class for all event arguments for element events

GlobalEventManager

GlobalEventManager is the base class for all transaction and element event managers. GlobalEventManager provides a mechanism for observers to register for and be notified of changes within the scope of the store.

InternalModelingErrorException

The exception that is thrown when an internal error occus inside the modeling engine.

InvalidDomainModelException

The exception that is thrown when there was an error encountered during reflection of a domain model from assembly meta-data.

ISerializerLocatorExtensions

Provides convenience methods to extend the standard ISerializerLocator interface

LinkedElementCollection<T>

Strongly typed collection for storing opposite element instances for a relationship in which a particular element participates.

MefMetadataConstants

Defines the string constants for the names of domain model MEF metadata keys

MergeAbortedException

The exception that is thrown when merge operation on a domain model is aborted by the user.

MergeContext

Provides merge (i.e., drop/paste) information which is initially set by the merge process when the ElementGroupPrototype's objects are reconstituted into the target store. The merge information is subsequently used throughout the merge process and the fixup phase.

MergeElementGroupEventArgs

Arguments for merge events

ModelElement

Base class (root of hierarchy) for all domain model elements.

ModelingEventArgs

Base class for all IMS event args classes

ModelingException

Comomn base class of specific exceptions thrown by the modeling engine.

Moniker

Moniker contains an expression used to map to its element. The MonikerName must be unique and represent only one element.

MonikerKey

MonikerKey is a class representing the key of a moniker.

MoveRule

Base class for registering element moved notification rule

Partition

Extends Partition with immutability support

PartitionDictionary

PartitionDictionary is a Dictionary collection of partitions with the Remove method overridden to also remove the partition from the store's PartitionAlternate collection.

PropagateDeleteVisitorFilter

Class that implements IElementVisitorFilter and visits all PropagateRemove relationships

PropertyAssignment

Represents property assignment pair consisting of property ID and assigned value. Use PropertyAssignment in element constructors to initialize element's properties at creation time.

ProtoElement

Prototype class for an element

ProtoElementBase

ProtoElementBase contains the information needed to create an element in any store.

ProtoGroup

ProtoGroups contain the information to recreate an ElementGroup in the context of any store given that the Elements and ElementLinks in the group have already been created in the store by the parent ElementGroupPrototype.

ProtoLink

ProtoLink contains the information needed to recreate an ElementLink in any Store

ProtoPropertyValue

ProtoPropertyValue contains the information necessary to populate an attribute value for a particular ModelElement. Two Serialization Formats are used. For primitives, strings, and arrays of primitives/strings, the same type-based Serialization format is used. For everything else, we have a non-type based serialization format.

ProtoRolePlayer

ProtoRolePlayer contains the data necessary to set the rolePlayer data on an ElementLink

ProvidesExtensionToDomainModelAttribute

Custom attribute used to indicate that a domain model is an extension of another domain model.

ReadOnlyLinkedElementCollection<T>

Read-only strongly typed collection for storing opposite element instances for a relationship in which a particular element participates.

RedoStackFlushedEventArgs

Event args for the RedoStackFlushed event.

RoleAssignment

Provides information required to initialize one side of an ElementLink.

RolePlayerChangedEventArgs

Event arguments describing a change of elements playing a role in an ElementLink

RolePlayerChangedEventManager

Class that manages Role Player Changed Events

RolePlayerChangeRule

Base class for registering elementlink roleplayer changed notification rule

RolePlayerOrderChangedEventArgs

Event arguments decribing a change to the order of Elements in an ordered relationship

RolePlayerOrderChangedEventManager

Class that manages Role Player Order Changed Events

RolePlayerPositionChangeRule

Base class for registering elementlink roleplayer position changed notification rule

RootElementSettings

Similar to System.Xml.XmlWriterSettings, this class stores settings that need to be passed to a serializer when serializing a root element. Root element has additional information like schema target namespace, versions, etc., so additional information may be needed.

Rule

public abstract Rule

RuleManager

Rule Manager class

RuleOnAttribute

Class definition for C# custom attribute RuleOn. This is used for IMS rule notification.

SerializationContext

This class defines the context of a serialization operation. The context passed to each participating serializers to provide information that they may use, and the context stores serialization results collected from each participating serializers.

SerializationContextTransactionExtensions

Extension methods for accessing SerializationContext in the scope of a Transaction

SerializationException

This is used to throw a SerializationResult as an exception.

SerializationMessage

An object that wraps the information of a serialization message, including message kind, message string, location, etc.

SerializationResult

Serialization Result

SerializationUtilities

Serialization Utilities

SimpleMonikerResolver

A Moniker Resolver that resolves simple string references when the model is serialized usign default xml serialization.

StandardExtensionLocator

Standard implementation of the IExtensionLocator interface

StandardSerializerLocator

Standard implementation of the ISerializerLocator interface

Store

Extends Store with immutability support

Transaction

The Transaction object allows grouping of changes made to the store. It ensures that the changes made are atomic and consistent. It also keeps track of the actions performed so that they can be undone at a later stage.

TransactionBeginningEventArgs

Event arguments for begin-transaction events

TransactionBeginningEventManager

Class that manages Transaction Beginning Events

TransactionBeginningRule

Base class for registering Transaction Beginning notification rules

TransactionCommitEventArgs

Event arguments for commit-transaction events

TransactionCommittedEventManager

Class that manages Transaction Committed Events

TransactionCommittingRule

Base class for registering Transaction committed notification rules

TransactionContext

Context object that allows clients to associated user data with the transaction. On commit all of the stored information will be discarded (and if supports disposal - disposed).

TransactionEventArgs

Base class for transaction event arguments

TransactionEventManager

abstract base class for managing Transaction Events

TransactionItem

TransactionItem class

TransactionLog

Class for handling transaction events

TransactionManager

The TransactionManager class is responsible for creating Transaction objects and keeping track of the current active transaction.

TransactionRollbackEventArgs

Event arguments for rollback-transaction events

TransactionRolledBackEventManager

Class that manages Transaction Rolled Back Events

TransactionRollingBackRule

Base class for registering Transaction rolled back notification rules

UndoItemEventArgs

Event args for the UndoItemAdded and UndoItemDiscarded events

UndoManager

Summary description for UndoManager.

UndoRedoCanceledException

The exception that is thrown when an undo or redo operation has been cancelled.

VisitorFilters

Class that returns various standard Visitor Filters

Structs

ReadOnlyLinkedElementCollection<T>.Enumerator

Strongly-typed enumerator for ElementCollection class.

Interfaces

IDomainModelSerializer

Defines the contract for a standard domain model serializer.

IElementDirectory

Directory of model elements contained within a store or partition.

IElementPartitionMapper

Interface for service used to map elements partitions when reconstituting ElementGroupPrototypes

IElementVisitor

Subclass this and implement the Visit function

IElementVisitorFilter

Provides callback mechanism for filtering out which role players and which relationships should be visited during traversal by an ElementWalker

IExtensionLocator

This interface provides a way for the generated serializers to resolve a schema target namespace to a domain model.

IMergeElements

Interface to allow ElementOperations classes in derived models to access protected merge functionality on a model element.

IMonikerResolver

MonikerResolver is used to resolve a Moniker to its element

ISchemaResolver

This interface provides a way for the generated serializers to resolve a schema target namespace. Given an XML file using a particular target namespace, it is important to find the schemas that define the namespace, so the generated serializers can do schema validations properly.

ISerializerLocator

This interface provides a way to locate serializers for a domain model.

ITransientTransactionContextObject

Interface marker to indicate that a particular object is transient and will be released (and disposed) on transaction commit

SElementPartitionMapper

Service identifier for the element group rehydration partition mapping service

Enums

CanCommitResult

Enumeration status for the CanCommit callback.

ChangeSource

Indicates the source of a change made during a transaction

ClosureType

Enumeration describing what kind of closure to build

CompletionStatus

Transaction CompletionStatus

DeleteState

Identifies whether the element is active, in the process of being deleted, or has been deleted.

DomainPropertyKind

Specifies domain property kind.

DomainRoleOrder

Specifies order of a domain role in domain relationship.

Multiplicity

Domain role multiplicity.

PropagatesCopyOption

Enum that lists the various PropagateCopy options.

SerializationMessageKind

An enum used to decorate messages stored in SerializationResult.

TimeToFire

Enumeration that identifies firing time of a rule

UndoState

UndoState enumeration describes state of Undo in the Undo Manager

VisitorFilterResult

VisitorFilterResult

Delegates

CanCommitCallback

Callback for querying if transaction commit can proceed based on external criteria.

CanUndoRedoCallback

Callback for querying if Undo/Redo can proceed based on external criteria.