IModel Interface

A partial description of a physical system, process, or software.

Namespace:  Microsoft.VisualStudio.Uml.AuxiliaryConstructs
Assembly:  Microsoft.VisualStudio.Uml.Interfaces (in Microsoft.VisualStudio.Uml.Interfaces.dll)

Syntax

'Declaration
Public Interface IModel _
    Inherits IPackage, INamespace, IPackageableElement, IParameterableElement,  _
    INamedElement, ITemplateableElement, IElement
public interface IModel : IPackage, INamespace, 
    IPackageableElement, IParameterableElement, INamedElement, ITemplateableElement, IElement
public interface class IModel : IPackage, 
    INamespace, IPackageableElement, IParameterableElement, INamedElement, ITemplateableElement, 
    IElement
type IModel =  
    interface
        interface IPackage
        interface INamespace
        interface IPackageableElement
        interface IParameterableElement
        interface INamedElement
        interface ITemplateableElement
        interface IElement
    end
public interface IModel extends IPackage, INamespace, IPackageableElement, IParameterableElement, INamedElement, ITemplateableElement, IElement

The IModel type exposes the following members.

Properties

  Name Description
Public property AllProfileInstances Gets a list of all Profiles linked to this Package and Profiles recursively inherited from its ancestor owning packages. Stereotypes from these Profiles can be applied to elements inside the Package. In addition, Stereotypes from Profiles in containing packages or models can be applied to elements inside the package. (Inherited from IPackage.)
Public property ApplicableStereotypes The set of stereotypes that could be applied to this element. (Inherited from IElement.)
Public property AppliedStereotypes Each IStereotypeInstance denotes that a stereotype has been applied to this element. (Inherited from IElement.)
Public property ClientDependencies Gets the Dependency relationships for which this element is the Client. (Inherited from INamedElement.)
Public property Description The description of this element. (Inherited from IElement.)
Public property Members Gets the elements that are part of this Namespace. (Inherited from INamespace.)
Public property Name The name of this element within the Namespace that contains it. In this Namespace, there should be no other element that has this Name. (Inherited from INamedElement.)
Public property Namespace Gets the Namespace in which this element is defined. May be null. (Inherited from INamedElement.)
Public property NestedPackages Gets the Packages owned by this package. (Inherited from IPackage.)
Public property NestingPackage Gets the package that owns this package, or null. (Inherited from IPackage.)
Public property OwnedComments Gets Comments contained in this element (not comments linked to it). (Inherited from IElement.)
Public property OwnedElements Gets Elements owned by this element. Every element has one owner, except the root IModel. (Inherited from IElement.)
Public property OwnedMembers Gets the elements that are defined within this Namespace. (Inherited from INamespace.)
Public property OwnedTypes Gets the PackagedElements that are types. (Inherited from IPackage.)
Public property Owner Gets the Element that owns this element. Every element except the root IModel has one owner. (Inherited from IElement.)
Public property OwningPackage Gets the package that contains this element. (Inherited from IPackageableElement.)
Public property OwningTemplateParameter If not null, this element is defined as a parameter in a template. (Inherited from IParameterableElement.)
Public property PackagedElements Gets the elements owned by this package. (Inherited from IPackage.)
Public property PackageImports Gets the packages that are imported by this namespace. (Inherited from INamespace.)
Public property ProfileInstances Gets a list of Profiles linked to this Package. Stereotypes from these Profiles can be applied to elements inside the Package. In addition, Stereotypes from Profiles in containing packages or models can be applied to elements inside the package. (Inherited from IPackage.)
Public property QualifiedName Gets the name of this element, prefixed with the Qualified Name of the Namespace that contains it. Empty if the Name is empty or if the Qualified Name of the Namespace is empty. (Inherited from INamedElement.)
Public property TemplateBindings Gets the Bindings in which this element is used. (Inherited from ITemplateableElement.)
Public property TemplateParameter If not null, this element is defined as a parameter in a template. (Inherited from IParameterableElement.)
Public property Visibility Defines where the element can be referenced. Public = visible anywhere; private = visible only in the owning Namespace; protected = visible to elements that have a generalization relationship to the owning Namespace; package = visible only in the Package owning the Namespace, if there is one. Default = public. (Inherited from INamedElement.)
Public property VisibleAppliedStereotypes (Inherited from IElement.)

Top

Extension Methods

  Name Description
Public Extension Method AddReference Links a string to an element, usually where the string is a reference such as a URI, modelbus reference, or work item ID. Use the name to indicate the type of reference. Returns an IReference object that represents the link. (Defined by UmlExtensions.)
Public Extension Method ApplyProfile Applies the profile to package, so that the profile's stereotypes can be applied to the package's contents. Creates an IProfileInstance that represents the relationship between the profile and the package. (Defined by ProfileStereotypeExtensions.)
Public Extension Method ApplyStereotype Applies the stereotype to element. Creates an IStereotypeInstance that represents the extension of the model element by the stereotype. (Defined by ProfileStereotypeExtensions.)
Public Extension Method CreateAbstraction Create a new IAbstraction link in the NamedElement (Defined by PackageExtensions.)
Public Extension Method CreateActivity Create a new IActivity object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateActor Create a new IActor object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateArtifact Create a new IArtifact object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateAssociation Create a new IAssociation (Defined by PackageExtensions.)
Public Extension Method CreateClass Create a new IClass object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateComment Create a new IComment object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateComponent Create a new IComponent object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateDataType Create a new IDataType object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateDependency Create a new IDependency link in the NamedElement (Defined by PackageExtensions.)
Public Extension Method CreateEnumeration Create a new IEnumeration object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateInteraction Create a new IInteraction object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateInterface Create a new IInterface object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateInterfaceRealization Create a new IInterfaceRealization link in the BehavioredClassifier (Defined by PackageExtensions.)
Public Extension Method CreatePackage Create a new IPackage object in the Package (Defined by PackageExtensions.)
Public Extension Method CreatePackageImport Import a package into a namespace. Creates an IPackageImport link to the package. (Defined by NamespaceExtensions.)
Public Extension Method CreatePrimitiveType Create a new IPrimitiveType object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateRealization Create a new IRealization link in the NamedElement (Defined by PackageExtensions.)
Public Extension Method CreateSubsystem Create a new ISubsystem object in the Package (Defined by PackageExtensions.)
Public Extension Method CreateUsage Create a new IUsage link in the NamedElement (Defined by PackageExtensions.)
Public Extension Method CreateUseCase Create a new IUseCase object in the Package (Defined by PackageExtensions.)
Public Extension Method Delete Deletes this element and any relationships, owned elements, and shapes. (Defined by UmlExtensions.)
Public Extension Method DeleteAllReference Remove all the references of a given tag. (Defined by UmlExtensions.)
Public Extension Method GetDependencyClients Return a collection of elements that are dependent on this. (Defined by NamedElementExtensions.)
Public Extension Method GetDependencySuppliers Return a collection of elements on which this is dependent. (Defined by NamedElementExtensions.)
Public Extension Method GetId Gets a GUID that identifies this element. (Defined by UmlExtensions.)
Public Extension Method GetImportedPackages The imported packages of the namespace (Defined by PackageExtensions.)
Public Extension Method GetImportingNamespaces The importing namespace of the package (Defined by PackageExtensions.)
Public Extension Method GetModelStore Gets the IModelStore that contains this element. (Defined by UmlExtensions.)
Public Extension Method GetReferences Get the IReferences of a given tag that are associated with this element. (Defined by UmlExtensions.)
Public Extension Method GetRelatedElements<T> Gets elements related to this element by relationships of the specified type. (Defined by UmlExtensions.)
Public Extension Method GetRelatedLinks<T> Gets relationships of a specified type from or to this element. (Defined by UmlExtensions.)
Public Extension Method Shapes All the shapes that display the model element on any open diagram, or on a specified open diagram. (Defined by PresentationHelpers.)

Top

Remarks

Note

The methods defined on this type are extension methods. To use the methods, you must add a project reference to the .NET assembly Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll, and you must include the directive using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml; in your code.

See Also

Reference

Microsoft.VisualStudio.Uml.AuxiliaryConstructs Namespace