Share via


DomainRole Class

DomainClass DomainRole Defines a role of a domain relationship. A relationship has exactly two roles.

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.Modeling.ModelElement
    Microsoft.VisualStudio.Modeling.DslDefinition.DomainElement
      Microsoft.VisualStudio.Modeling.DslDefinition.AttributedDomainElement
        Microsoft.VisualStudio.Modeling.DslDefinition.NamedDomainElement
          Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole

Namespace:  Microsoft.VisualStudio.Modeling.DslDefinition
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0.dll)

Syntax

'Declaration
<ValidationStateAttribute(ValidationState.Enabled)> _
<DisplayNameResourceAttribute("Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole.DisplayName",  _
    GetType(DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")> _
<DescriptionResourceAttribute("Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole.Description",  _
    GetType(DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")> _
<DomainModelOwnerAttribute(GetType(DslDefinitionModelDomainModel))> _
<CLSCompliantAttribute(True)> _
<DomainObjectIdAttribute("c6d5aac1-1499-4882-83a8-7b94de09c984")> _
<ValidationStateAttribute(ValidationState.Enabled)> _
Public NotInheritable Class DomainRole _
    Inherits NamedDomainElement
[ValidationStateAttribute(ValidationState.Enabled)]
[DisplayNameResourceAttribute("Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole.DisplayName", 
    typeof(DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")]
[DescriptionResourceAttribute("Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole.Description", 
    typeof(DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")]
[DomainModelOwnerAttribute(typeof(DslDefinitionModelDomainModel))]
[CLSCompliantAttribute(true)]
[DomainObjectIdAttribute("c6d5aac1-1499-4882-83a8-7b94de09c984")]
[ValidationStateAttribute(ValidationState.Enabled)]
public sealed class DomainRole : NamedDomainElement
[ValidationStateAttribute(ValidationState::Enabled)]
[DisplayNameResourceAttribute(L"Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole.DisplayName", 
    typeof(DslDefinitionModelDomainModel), L"Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")]
[DescriptionResourceAttribute(L"Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole.Description", 
    typeof(DslDefinitionModelDomainModel), L"Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")]
[DomainModelOwnerAttribute(typeof(DslDefinitionModelDomainModel))]
[CLSCompliantAttribute(true)]
[DomainObjectIdAttribute(L"c6d5aac1-1499-4882-83a8-7b94de09c984")]
[ValidationStateAttribute(ValidationState::Enabled)]
public ref class DomainRole sealed : public NamedDomainElement
[<Sealed>]
[<ValidationStateAttribute(ValidationState.Enabled)>]
[<DisplayNameResourceAttribute("Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole.DisplayName", 
    typeof(DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")>]
[<DescriptionResourceAttribute("Microsoft.VisualStudio.Modeling.DslDefinition.DomainRole.Description", 
    typeof(DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")>]
[<DomainModelOwnerAttribute(typeof(DslDefinitionModelDomainModel))>]
[<CLSCompliantAttribute(true)>]
[<DomainObjectIdAttribute("c6d5aac1-1499-4882-83a8-7b94de09c984")>]
[<ValidationStateAttribute(ValidationState.Enabled)>]
type DomainRole =  
    class 
        inherit NamedDomainElement 
    end
public final class DomainRole extends NamedDomainElement

The DomainRole type exposes the following members.

Constructors

  Name Description
Public method DomainRole(Partition, array<PropertyAssignment[]) Constructor
Public method DomainRole(Store, array<PropertyAssignment[]) Constructor

Top

Properties

  Name Description
Public property Attributes Gets a list of Attributes. (Inherited from AttributedDomainElement.)
Public property BaseRole Gets the base role for this role
Public property Category Gets or sets the value of Category domain property. Category under which the generated property appears in the properties window.
Public property CollectionType Gets or sets CollectionType. External type used as the collection type for the generated property from this role.
Public property CustomAttributes Gets or sets the value of CustomAttributes domain property. Used to attribute the code generated from this element. (Inherited from AttributedDomainElement.)
Public property Description Gets or sets the value of Description domain property. Used in the UI and in the code documentation of the generated designer. (Inherited from AttributedDomainElement.)
Public property DisplayName Gets or sets the value of DisplayName domain property. The name that will be displayed in the generated designer for this element. (Inherited from NamedDomainElement.)
Public property HelpKeyword Gets or sets the value of HelpKeyword domain property. Optional keyword used to index F1 help for this element. (Inherited from NamedDomainElement.)
Public property Id Gets the ID of the element. (Inherited from ModelElement.)
Public property IsActive Gets the IsActive flag and verifies to see whether the element is active. (Inherited from ModelElement.)
Public property IsDeleted Gets the IsDeleted flag and checks to see whether the element has been deleted from the model. (Inherited from ModelElement.)
Public property IsDeleting Gets the IsDeleting flag and verifies whether the element is currently being deleted from the model. (Inherited from ModelElement.)
Public property IsDescriptionTracking Gets or sets the value of IsDescriptionTracking domain property. If True, the Description property tracks other data in the DSL definition. (Inherited from AttributedDomainElement.)
Public property IsDisplayNameTracking Gets or sets the value of IsDisplayNameTracking domain property. If True, the DisplayName property tracks other data in the DSL definition. (Inherited from NamedDomainElement.)
Public property IsEmbedded Checks if this role is the target role, and the relationship is an embedding relationship
Public property IsEmbedding Checks if this role is the source role, and the relationship is an embedding relationship
Public property IsMany Returns true if the multiplicity of this role is ZeroMany or OneMany.
Public property IsMultiplicityTracking Gets or sets the value of IsMultiplicityTracking domain property. If True, the Multiplicity property tracks other data in the DSL definition.
Public property IsNameTracking Gets or sets the value of IsNameTracking domain property. If True, the Name property tracks other data in the DSL definition.
Public property IsPropagatesCopyTracking Gets or sets the value of IsPropagatesCopyTracking domain property. If True, the PropagatesCopy property tracks other data in the DSL definition.
Public property IsPropagatesDeleteTracking Gets or sets the value of IsPropagatesDeleteTracking domain property. If True, the PropagatesDelete property tracks other data in the DSL definition.
Public property IsPropertyBrowsable Gets or sets the value of IsPropertyBrowsable domain property. If True, the generated property is marked as browsable in its corresponding property descriptor. As a result, it can be browsed through the properties window.
Public property IsPropertyDisplayNameTracking Gets or sets the value of IsPropertyDisplayNameTracking domain property. If True, the PropertyDisplayName property tracks other data in the DSL definition.
Public property IsPropertyGenerator Gets or sets the value of IsPropertyGenerator domain property. If True, a property on the role player of this role is generated.
Public property IsPropertyNameTracking Gets or sets the value of IsPropertyNameTracking domain property. If True, the PropertyName property tracks other data in the DSL definition.
Public property IsPropertyUIReadOnly Gets or sets the value of IsPropertyUIReadOnly domain property. If True, the generated property can not be edited through the UI when browsed.
Public property IsSource Checks if this role is the source role
Public property Multiplicity Gets or sets the value of Multiplicity domain property. Constrains the number of links for which an element may play this role. If multiplicity is 0..* or 1..*, the generated property represents a collection.
Public property Name Gets or sets the value of Name domain property. Name of this element. (Inherited from NamedDomainElement.)
Public property Notes Gets or sets the value of Notes domain property. Informal notes associated with this element. (Inherited from DomainElement.)
Public property Opposite The opposite role
Public property Partition Gets or sets the Partition that contains the element. (Inherited from ModelElement.)
Public property PropagatesCopy Gets or sets the value of PropagatesCopy domain property. If True, an element playing this role in a link is copied when the link is copied.
Public property PropagatesDelete Gets or sets the value of PropagatesDelete domain property. If True, an element playing this role in a link is deleted when the link is deleted.
Public property PropertyAttributes Gets a list of PropertyAttributes.
Public property PropertyCustomAttributes Gets or sets the value of PropertyCustomAttributes domain property. Used to attribute the property generated in the implementation of the role player class
Public property PropertyDisplayName Gets or sets the value of PropertyDisplayName domain property. The name that will be displayed in the generated designer for the generated property.
Public property PropertyGetterAccessModifier Gets or sets the value of PropertyGetterAccessModifier domain property. Determines the access modifier for the getter of the generated property.
Public property PropertyName Gets or sets the value of PropertyName domain property. Name of the generated property.
Public property PropertySetterAccessModifier Gets or sets the value of PropertySetterAccessModifier domain property. Determines the access modifier for the setter of the generated property.
Public property Relationship Gets or sets Relationship. Relationship defining the role.
Public property RolePlayer Gets or sets RolePlayer. Class of element playing this role in the relationship.
Public property Store Gets the Store that contains the element. (Inherited from ModelElement.)

Top

Methods

  Name Description
Public method Copy() Creates a copy of the element in the model. (Inherited from ModelElement.)
Public method Copy(IEnumerable<Guid>) Creates a copy of the element and its child links and elements. (Inherited from ModelElement.)
Public method Delete() Deletes an element from the model. (Inherited from ModelElement.)
Public method Delete(array<Guid[]) Deletes an element from the model. (Inherited from ModelElement.)
Public method Equals Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public method GetDomainClass Gets the most-derived domain class for this element. (Inherited from ModelElement.)
Public method GetHashCode Serves as the default hash function. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method OnCopy Called when this element has been created as a copy of another element. (Inherited from ModelElement.)
Protected method OnDeleted Called when this element has been deleted from the model. (Inherited from ModelElement.)
Protected method OnDeleting Called when this element is about to be deleted. (Inherited from ModelElement.)
Protected method OnResurrected Called when this element has been added back to a model. (Inherited from ModelElement.)
Protected method OnRolePlayerPositionChanged Called when the position of a role has changed. (Inherited from ModelElement.)
Protected method OnRolePlayerPositionChanging Called when a role player position is about to change. (Inherited from ModelElement.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Extension Methods

  Name Description
Public Extension Method AddExtension(Guid) Overloaded. Extend this ModelElement with newly instantiated extension of the identified domain type. An InvalidOperationException will be thrown if the element already has an extension of that type. (Defined by ModelElementExtensionMethods.)
Public Extension Method AddExtension(Type) Overloaded. Extend this ModelElement with a newly instantiated extension of the specified type. An InvalidOperationException will be thrown if the element already has an extension of that type. (Defined by ModelElementExtensionMethods.)
Public Extension Method AddExtension(DomainClassInfo) Overloaded. Extend this ModelElement with a newly instantiated extension of the specified domain type. An InvalidOperationException will be thrown if the element already has an extension of that type. (Defined by ModelElementExtensionMethods.)
Public Extension Method AddExtension(ExtensionElement) Overloaded. Extend this ModelElement with a specific extension. An InvalidOperationException will be thrown if the element already has an extension of the same type. (Defined by ModelElementExtensionMethods.)
Public Extension Method AddExtension<T>() Overloaded. Extend this ModelElement with a newly instantiated extension of a particular type. An InvalidOperationException will be thrown if the element already has an extension of the same type. (Defined by ModelElementExtensionMethods.)
Public Extension Method CanDelete Deletes the element from the model. (Defined by ImmutabilityExtensionMethods.)
Public Extension Method GetAllExtensions Return an enumerable that performs a breadth first traversal across the tree of extension elements embedded in this ModelElement. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetBaseElement Returns the root of the virtual MEL in which the specified ModelElement is participating. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetExtension(Guid) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetExtension(Type) Overloaded. Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If the element has no such extension then an InvalidOperationException will be raised. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetExtension(DomainClassInfo) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetExtension<T>() Overloaded. Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If the element has no such extension then an InvalidOperationException will be raised. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetLocks Get the lock flags for this element. This will include any locks enabled on the Partition containing the element. (Defined by ImmutabilityExtensionMethods.)
Public Extension Method IsExtendedBy(Guid) Overloaded. Query whether this ModelElement is currently extended by an ExtensionElement of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method IsExtendedBy(Type) Overloaded. Query whether this ModelElement is currently extended by an ExtensionElement of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method IsExtendedBy(DomainClassInfo) Overloaded. Query whether this ModelElement is currently extended by an ExtensionElement of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method IsLocked Test whether this element has any of a specified set of locks (Defined by ImmutabilityExtensionMethods.)
Public Extension Method RemoveExtension(Type) Overloaded. Remove any extension of this ModelElement that is of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method RemoveExtension(Guid) Overloaded. Remove any extension of the specified ModelElement that is of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method RemoveExtension(DomainClassInfo) Overloaded. Remove any extension of the specified ModelElement that is of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method RemoveExtension(ExtensionElement) Overloaded. Remove a specified ExtensionElement from the extensions of this ModelElement. (Defined by ModelElementExtensionMethods.)
Public Extension Method SetLocks Set the lock flags of this element (Defined by ImmutabilityExtensionMethods.)
Public Extension Method TryGetExtension(Guid) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method TryGetExtension(Type) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method TryGetExtension(DomainClassInfo) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method TryGetExtension<T>() Overloaded. Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If this element has no such extension then the result will be null. (Defined by ModelElementExtensionMethods.)

Top

Fields

  Name Description
Public fieldStatic member CategoryDomainPropertyId Category domain property Id.
Public fieldStatic member DomainClassId DomainRole domain class Id.
Public fieldStatic member IsMultiplicityTrackingDomainPropertyId IsMultiplicityTracking domain property Id.
Public fieldStatic member IsNameTrackingDomainPropertyId IsNameTracking domain property Id.
Public fieldStatic member IsPropagatesCopyTrackingDomainPropertyId IsPropagatesCopyTracking domain property Id.
Public fieldStatic member IsPropagatesDeleteTrackingDomainPropertyId IsPropagatesDeleteTracking domain property Id.
Public fieldStatic member IsPropertyBrowsableDomainPropertyId IsPropertyBrowsable domain property Id.
Public fieldStatic member IsPropertyDisplayNameTrackingDomainPropertyId IsPropertyDisplayNameTracking domain property Id.
Public fieldStatic member IsPropertyGeneratorDomainPropertyId IsPropertyGenerator domain property Id.
Public fieldStatic member IsPropertyNameTrackingDomainPropertyId IsPropertyNameTracking domain property Id.
Public fieldStatic member IsPropertyUIReadOnlyDomainPropertyId IsPropertyUIReadOnly domain property Id.
Public fieldStatic member MultiplicityDomainPropertyId Multiplicity domain property Id.
Public fieldStatic member PropagatesCopyDomainPropertyId PropagatesCopy domain property Id.
Public fieldStatic member PropagatesDeleteDomainPropertyId PropagatesDelete domain property Id.
Public fieldStatic member PropertyCustomAttributesDomainPropertyId PropertyCustomAttributes domain property Id.
Public fieldStatic member PropertyDisplayNameDomainPropertyId PropertyDisplayName domain property Id.
Public fieldStatic member PropertyGetterAccessModifierDomainPropertyId PropertyGetterAccessModifier domain property Id.
Public fieldStatic member PropertyNameDomainPropertyId PropertyName domain property Id.
Public fieldStatic member PropertySetterAccessModifierDomainPropertyId PropertySetterAccessModifier domain property Id.

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IMergeElements.CanMerge Returns true if this element can merge with the content of the prototype. (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.ChooseMergeTarget(ElementGroup) (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.ChooseMergeTarget(ElementGroupPrototype) (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.MergeConfigure (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.MergeDisconnect (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.MergeRelate (Inherited from ModelElement.)

Top

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.Modeling.DslDefinition Namespace