Table of Contents

Interface IProperty

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

The public interface for Property

[DefaultImplementationType(typeof(Property))]
[XmlDefaultImplementationType(typeof(Property))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Property")]
public interface IProperty : IDeploymentTarget, IConnectableElement, IParameterableElement, IStructuralFeature, IMultiplicityElement, ITypedElement, IFeature, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

Aggregation

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

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

Property Value

AggregationKind

Association

The Association of which this Property is a member, if any. <p>From package UML::Classification.</p>

[XmlElementName("association")]
[XmlAttribute(true)]
[XmlOpposite("memberEnd")]
IAssociation Association { get; set; }

Property Value

IAssociation

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")]
IProperty AssociationEnd { get; set; }

Property Value

IProperty

Class

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

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

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")]
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]
IValueSpecification DefaultValue { get; set; }

Property Value

IValueSpecification

Interface

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

[Browsable(false)]
[XmlElementName("interface")]
[XmlAttribute(true)]
[XmlOpposite("ownedAttribute")]
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)]
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)]
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)]
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")]
IAssociation OwningAssociation { get; set; }

Property Value

IAssociation

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")]
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)]
ICollectionExpression<IProperty> RedefinedProperty { get; }

Property Value

ICollectionExpression<IProperty>

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)]
ISetExpression<IProperty> SubsettedProperty { get; }

Property Value

ISetExpression<IProperty>

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())))

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))

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

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

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

GetDefault()

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

string GetDefault()

Returns

string

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>

IProperty GetOpposite()

Returns

IProperty

GetOtherEnd()

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

IProperty GetOtherEnd()

Returns

IProperty

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>

bool IsAttribute()

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>

bool IsNavigable()

Returns

bool

IsSetDefault()

bool IsSetDefault()

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

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()

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)))

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.

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.

void SetDefault(string newDefault)

Parameters

newDefault string

A string repesentation of the new default value.

SetIntegerDefaultValue(int)

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

void SetIntegerDefaultValue(int value)

Parameters

value int

The new default value.

SetIsComposite(bool)

void SetIsComposite(bool newIsComposite)

Parameters

newIsComposite bool

SetIsNavigable(bool)

Sets the navigability of this property as indicated.

void SetIsNavigable(bool isNavigable)

Parameters

isNavigable bool

The new navigability.

SetNullDefaultValue()

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

void SetNullDefaultValue()

SetOpposite(IProperty)

void SetOpposite(IProperty newOpposite)

Parameters

newOpposite IProperty

SetRealDefaultValue(double)

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

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.

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.

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)

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>

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)))))

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() ))

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

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()

void UnsetDefault()