Table of Contents

Class Property

Namespace
NMF.Interop.Uml
Assembly
NMF.UMLInterop.dll

A Property is a StructuralFeature. A Property related by ownedAttribute to a Classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the Classifier to a value or set of values of the type of the attribute. A Property related by memberEnd to an Association represents an end of the Association. The type of the Property is the type of the end of the Association. A Property has the capability of being a DeploymentTarget in a Deployment relationship. This enables modeling the deployment to hierarchical nodes that have Properties functioning as internal parts. Property specializes ParameterableElement to specify that a Property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template. <p>From package UML::Classification.</p>

[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Property")]
public class Property : StructuralFeature, IProperty, IDeploymentTarget, IConnectableElement, IParameterableElement, IStructuralFeature, IMultiplicityElement, ITypedElement, IFeature, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inheritance
Property
Implements
Derived
Inherited Members

Constructors

Property()

Creates a new instance

public Property()

Properties

Aggregation

Specifies the kind of aggregation that applies to the Property. <p>From package UML::Classification.</p>

[XmlElementName("aggregation")]
[XmlAttribute(true)]
public AggregationKind Aggregation { get; set; }

Property Value

AggregationKind

AssociationEnd

Designates the optional association end that owns a qualifier attribute. <p>From package UML::Classification.</p>

[Browsable(false)]
[XmlElementName("associationEnd")]
[XmlAttribute(true)]
[XmlOpposite("qualifier")]
public IProperty AssociationEnd { get; set; }

Property Value

IProperty

Children

Gets the child model elements of this model element

public override IEnumerableExpression<IModelElement> Children { get; }

Property Value

IEnumerableExpression<IModelElement>

Class

The Class that owns this Property, if any. <p>From package UML::Classification.</p>

[XmlElementName("class")]
[XmlAttribute(true)]
public IClass Class { get; set; }

Property Value

IClass

ClassInstance

Gets the Class model for this type

public static IClass ClassInstance { get; }

Property Value

IClass

Datatype

The DataType that owns this Property, if any. <p>From package UML::Classification.</p>

[Browsable(false)]
[XmlElementName("datatype")]
[XmlAttribute(true)]
[XmlOpposite("ownedAttribute")]
public IDataType Datatype { get; set; }

Property Value

IDataType

DefaultValue

A ValueSpecification that is evaluated to give a default value for the Property when an instance of the owning Classifier is instantiated. <p>From package UML::Classification.</p>

[Browsable(false)]
[XmlElementName("defaultValue")]
[XmlAttribute(false)]
[Containment]
public IValueSpecification DefaultValue { get; set; }

Property Value

IValueSpecification

Deployment

The set of Deployments for a DeploymentTarget. <p>From package UML::Deployments.</p>

[Browsable(false)]
[XmlElementName("deployment")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("location")]
public IOrderedSetExpression<IDeployment> Deployment { get; }

Property Value

IOrderedSetExpression<IDeployment>

Interface

The Interface that owns this Property, if any. <p>From package UML::Classification.</p>

[Browsable(false)]
[XmlElementName("interface")]
[XmlAttribute(true)]
[XmlOpposite("ownedAttribute")]
public IInterface Interface { get; set; }

Property Value

IInterface

IsDerived

Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information. <p>From package UML::Classification.</p>

[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isDerived")]
[XmlAttribute(true)]
public bool IsDerived { get; set; }

Property Value

bool

IsDerivedUnion

Specifies whether the property is derived as the union of all of the Properties that are constrained to subset it. <p>From package UML::Classification.</p>

[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isDerivedUnion")]
[XmlAttribute(true)]
public bool IsDerivedUnion { get; set; }

Property Value

bool

IsID

True indicates this property can be used to uniquely identify an instance of the containing Class. <p>From package UML::Classification.</p>

[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isID")]
[XmlAttribute(true)]
public bool IsID { get; set; }

Property Value

bool

OwningAssociation

The owning association of this property, if any. <p>From package UML::Classification.</p>

[XmlElementName("owningAssociation")]
[XmlAttribute(true)]
[XmlOpposite("ownedEnd")]
public IAssociation OwningAssociation { get; set; }

Property Value

IAssociation

OwningTemplateParameter

The formal TemplateParameter that owns this ParameterableElement. <p>From package UML::CommonStructure.</p>

[XmlElementName("owningTemplateParameter")]
[XmlAttribute(true)]
[XmlOpposite("ownedParameteredElement")]
public ITemplateParameter OwningTemplateParameter { get; set; }

Property Value

ITemplateParameter

Qualifier

An optional list of ordered qualifier attributes for the end. <p>From package UML::Classification.</p>

[Browsable(false)]
[XmlElementName("qualifier")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("associationEnd")]
public IOrderedSetExpression<IProperty> Qualifier { get; }

Property Value

IOrderedSetExpression<IProperty>

RedefinedProperty

The properties that are redefined by this property, if any. <p>From package UML::Classification.</p>

[XmlElementName("redefinedProperty")]
[XmlAttribute(true)]
public ICollectionExpression<IProperty> RedefinedProperty { get; }

Property Value

ICollectionExpression<IProperty>

ReferencedElements

Gets the referenced model elements of this model element

public override IEnumerableExpression<IModelElement> ReferencedElements { get; }

Property Value

IEnumerableExpression<IModelElement>

SubsettedProperty

The properties of which this Property is constrained to be a subset, if any. <p>From package UML::Classification.</p>

[XmlElementName("subsettedProperty")]
[XmlAttribute(true)]
public ISetExpression<IProperty> SubsettedProperty { get; }

Property Value

ISetExpression<IProperty>

TemplateParameter

The TemplateParameter that exposes this ParameterableElement as a formal parameter. <p>From package UML::CommonStructure.</p>

[XmlElementName("templateParameter")]
[XmlAttribute(true)]
[XmlOpposite("parameteredElement")]
public ITemplateParameter TemplateParameter { get; set; }

Property Value

ITemplateParameter

Methods

Binding_to_attribute(object, object)

A binding of a PropertyTemplateParameter representing an attribute must be to an attribute. (self.isAttribute() and (templateParameterSubstitution->notEmpty()) implies (templateParameterSubstitution->forAll(ts | ts.formal.oclIsKindOf(Property) and ts.formal.oclAsType(Property).isAttribute())))

public bool Binding_to_attribute(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Deployment_target(object, object)

A Property can be a DeploymentTarget if it is a kind of Node and functions as a part in the internal structure of an encompassing Node. deployment->notEmpty() implies owner.oclIsKindOf(Node) and Node.allInstances()->exists(n | n.part->exists(p | p = self))

public bool Deployment_target(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Derived_union_is_derived(object, object)

A derived union is derived. isDerivedUnion implies isDerived

public bool Derived_union_is_derived(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Derived_union_is_read_only(object, object)

A derived union is read only. isDerivedUnion implies isReadOnly

public bool Derived_union_is_read_only(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

GetAttributeValue(string, int)

Resolves the given attribute name

protected override object GetAttributeValue(string attribute, int index)

Parameters

attribute string

The requested attribute name

index int

The index of this attribute

Returns

object

The attribute value or null if it could not be found

GetClass()

Gets the Class for this model element

public override IClass GetClass()

Returns

IClass

GetCollectionForFeature(string)

Gets the Model element collection for the given feature

protected override IList GetCollectionForFeature(string feature)

Parameters

feature string

The requested feature

Returns

IList

A non-generic list of elements

GetCompositionName(object)

Gets the property name for the given container

protected override string GetCompositionName(object container)

Parameters

container object

The container object

Returns

string

The name of the respective container reference

GetDefault()

Retrieves a string representation of the default value for this property.

public string GetDefault()

Returns

string

GetDeployedElements()

Derivation for DeploymentTarget::/deployedElement result = (deployment.deployedArtifact->select(oclIsKindOf(Artifact))->collect(oclAsType(Artifact).manifestation)->collect(utilizedElement)->asSet()) <p>From package UML::Deployments.</p>

public ISetExpression<IPackageableElement> GetDeployedElements()

Returns

ISetExpression<IPackageableElement>

GetEnds()

Derivation for ConnectableElement::/end : ConnectorEnd result = (ConnectorEnd.allInstances()->select(role = self)) <p>From package UML::StructuredClassifiers.</p>

public ISetExpression<IConnectorEnd> GetEnds()

Returns

ISetExpression<IConnectorEnd>

GetExpressionForAttribute(string)

Gets the property expression for the given attribute

protected override INotifyExpression<object> GetExpressionForAttribute(string attribute)

Parameters

attribute string

The requested attribute in upper case

Returns

INotifyExpression<object>

An incremental property expression

GetExpressionForReference(string)

Gets the property expression for the given reference

protected override INotifyExpression<IModelElement> GetExpressionForReference(string reference)

Parameters

reference string

The requested reference in upper case

Returns

INotifyExpression<IModelElement>

An incremental property expression

GetModelElementForReference(string, int)

Resolves the given URI to a child model element

protected override IModelElement GetModelElementForReference(string reference, int index)

Parameters

reference string

The requested reference name

index int

The index of this reference

Returns

IModelElement

The model element or null if it could not be found

GetOpposite()

If this property is a memberEnd of a binary association, then opposite gives the other end. result = (if association <> null and association.memberEnd->size() = 2 then association.memberEnd->any(e | e <> self) else null endif) <p>From package UML::Classification.</p>

public IProperty GetOpposite()

Returns

IProperty

GetOtherEnd()

Retrieves the other end of the (binary) association in which this property is a member end.

public IProperty GetOtherEnd()

Returns

IProperty

GetRelativePathForNonIdentifiedChild(IModelElement)

Gets the relative URI fragment for the given child model element

protected override string GetRelativePathForNonIdentifiedChild(IModelElement element)

Parameters

element IModelElement

The element that should be looked for

Returns

string

A fragment of the relative URI

IsAttribute()

The query isAttribute() is true if the Property is defined as an attribute of some Classifier. result = (not classifier->isEmpty()) <p>From package UML::Classification.</p>

public bool IsAttribute()

Returns

bool

IsCompatibleWith(IParameterableElement)

The query isCompatibleWith() determines if this ParameterableElement is compatible with the specified ParameterableElement. By default, this ParameterableElement is compatible with another ParameterableElement p if the kind of this ParameterableElement is the same as or a subtype of the kind of p. Subclasses of ParameterableElement should override this operation to specify different compatibility constraints. result = (self.oclIsKindOf(p.oclType())) <p>From package UML::CommonStructure.</p>

public bool IsCompatibleWith(IParameterableElement p)

Parameters

p IParameterableElement

Returns

bool

IsNavigable()

The query isNavigable() indicates whether it is possible to navigate across the property. result = (not classifier->isEmpty() or association.navigableOwnedEnd->includes(self)) <p>From package UML::Classification.</p>

public bool IsNavigable()

Returns

bool

IsSetDefault()

public bool IsSetDefault()

Returns

bool

IsTemplateParameter()

The query isTemplateParameter() determines if this ParameterableElement is exposed as a formal TemplateParameter. result = (templateParameter->notEmpty()) <p>From package UML::CommonStructure.</p>

public bool IsTemplateParameter()

Returns

bool

Multiplicity_of_composite(object, object)

A multiplicity on the composing end of a composite aggregation must not have an upper bound greater than 1. isComposite and association <> null implies opposite.upperBound() <= 1

public bool Multiplicity_of_composite(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Qualified_is_association_end(object, object)

All qualified Properties must be Association ends qualifier->notEmpty() implies association->notEmpty()

public bool Qualified_is_association_end(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Redefined_property_inherited(object, object)

A redefined Property must be inherited from a more general Classifier. (redefinedProperty->notEmpty()) implies (redefinitionContext->notEmpty() and redefinedProperty->forAll(rp| ((redefinitionContext->collect(fc| fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp)))

public bool Redefined_property_inherited(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

SetBooleanDefaultValue(bool)

Sets the default value for this property to the specified Boolean value.

public void SetBooleanDefaultValue(bool value)

Parameters

value bool

The new default value.

SetDefault(string)

Sets the default value for this property based on the specified string representation.

public void SetDefault(string newDefault)

Parameters

newDefault string

A string repesentation of the new default value.

SetFeature(string, object)

Sets a value to the given feature

protected override void SetFeature(string feature, object value)

Parameters

feature string

The requested feature

value object

The value that should be set to that feature

SetIntegerDefaultValue(int)

Sets the default value for this property to the specified integer value.

public void SetIntegerDefaultValue(int value)

Parameters

value int

The new default value.

SetIsComposite(bool)

public void SetIsComposite(bool newIsComposite)

Parameters

newIsComposite bool

SetIsNavigable(bool)

Sets the navigability of this property as indicated.

public void SetIsNavigable(bool isNavigable)

Parameters

isNavigable bool

The new navigability.

SetNullDefaultValue()

Sets the default value for this property to the null value.

public void SetNullDefaultValue()

SetOpposite(IProperty)

public void SetOpposite(IProperty newOpposite)

Parameters

newOpposite IProperty

SetRealDefaultValue(double)

Sets the default value for this property to the specified real value.

public void SetRealDefaultValue(double value)

Parameters

value double

The new default value.

SetStringDefaultValue(string)

Sets the default value for this property to the specified string value.

public void SetStringDefaultValue(string value)

Parameters

value string

The new default value.

SetUnlimitedNaturalDefaultValue(object)

Sets the default value for this property to the specified unlimited natural value.

public void SetUnlimitedNaturalDefaultValue(object value)

Parameters

value object

The new default value.

Subsetted_property_names(object, object)

A Property may not subset a Property with the same name. subsettedProperty->forAll(sp | sp.name <> name)

public bool Subsetted_property_names(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

SubsettingContext()

The query subsettingContext() gives the context for subsetting a Property. It consists, in the case of an attribute, of the corresponding Classifier, and in the case of an association end, all of the Classifiers at the other ends. result = (if association <> null then association.memberEnd->excluding(self)->collect(type)->asSet() else if classifier<>null then classifier->asSet() else Set{} endif endif) <p>From package UML::Classification.</p>

public ISetExpression<IType> SubsettingContext()

Returns

ISetExpression<IType>

Subsetting_context_conforms(object, object)

Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property. subsettedProperty->notEmpty() implies (subsettingContext()->notEmpty() and subsettingContext()->forAll (sc | subsettedProperty->forAll(sp | sp.subsettingContext()->exists(c | sc.conformsTo(c)))))

public bool Subsetting_context_conforms(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Subsetting_rules(object, object)

A subsetting Property may strengthen the type of the subsetted Property, and its upper bound may be less. subsettedProperty->forAll(sp | self.type.conformsTo(sp.type) and ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies self.upperBound() <= sp.upperBound() ))

public bool Subsetting_rules(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Type_of_opposite_end(object, object)

If a Property is a classifier-owned end of a binary Association, its owner must be the type of the opposite end. (opposite->notEmpty() and owningAssociation->isEmpty()) implies classifier = opposite.type

public bool Type_of_opposite_end(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

UnsetDefault()

public void UnsetDefault()