Table of Contents

Interface IProperty

Namespace
NMF.Interop.Cmof
Assembly
NMF.UMLInterop.dll

The public interface for Property

[DefaultImplementationType(typeof(Property))]
[XmlDefaultImplementationType(typeof(Property))]
[ModelRepresentationClass("http://www.omg.org/spec/MOF/20131001/cmof.xmi#//Property")]
public interface IProperty : IStructuralFeature, ITypedElement, IMultiplicityElement, IFeature, IRedefinableElement, INamedElement, IElement, IObject, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

Aggregation

Specifies the kind of aggregation that applies to the Property.

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

Property Value

AggregationKind

Association

References the association of which this property is a member, if any.

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

Property Value

IAssociation

Class

References the Class that owns the Property. References the Class that owns the Property.

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

Property Value

IClass

Datatype

The DataType that owns this Property.

[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 object of the owning Classifier is instantiated.

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

Property Value

IValueSpecification

IsDerived

If isDerived is true, the value of the attribute is derived from information elsewhere. Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.

[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.

[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.

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

Property Value

bool

OwningAssociation

References the owning association of this property, if any.

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

Property Value

IAssociation

RedefinedProperty

References the properties that are redefined by this property.

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

Property Value

ISetExpression<IProperty>

SubsettedProperty

References the properties of which this property is constrained to be a subset.

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

Property Value

ISetExpression<IProperty>

Methods

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

IsAttribute(IProperty)

The query isAttribute() is true if the Property is defined as an attribute of some classifier. result = Classifier.allInstances->exists(c | c.attribute->includes(p))

bool IsAttribute(IProperty p)

Parameters

p IProperty

Returns

bool

IsNavigable()

The query isNavigable() indicates whether it is possible to navigate across the property. result = not classifier->isEmpty() or association.owningAssociation.navigableOwnedEnd->includes(self)

bool IsNavigable()

Returns

bool

Multiplicity_of_composite(object, object)

A multiplicity of a composite aggregation must not have an upper bound greater than 1. A multiplicity on an aggregate end of a composite aggregation must not have an upper bound greater than 1. isComposite implies (upperBound()->isEmpty() or 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

Redefined_property_inherited(object, object)

A redefined property must be inherited from a more general classifier containing the redefining property. if (redefinedProperty->notEmpty()) then (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

Subsetted_property_names(object, object)

A property may not subset a property with the same name. true

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->notEmpty() then association.endType-type else if classifier->notEmpty() then Set{classifier} else Set{} endif endif

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. self.subsettedProperty->notEmpty() implies (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc | self.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. self.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

Events

AggregationChanged

Gets fired when the Aggregation property changed its value

event EventHandler<ValueChangedEventArgs> AggregationChanged

Event Type

EventHandler<ValueChangedEventArgs>

AggregationChanging

Gets fired before the Aggregation property changes its value

event EventHandler<ValueChangedEventArgs> AggregationChanging

Event Type

EventHandler<ValueChangedEventArgs>

ClassChanged

Gets fired when the Class property changed its value

event EventHandler<ValueChangedEventArgs> ClassChanged

Event Type

EventHandler<ValueChangedEventArgs>

ClassChanging

Gets fired before the Class property changes its value

event EventHandler<ValueChangedEventArgs> ClassChanging

Event Type

EventHandler<ValueChangedEventArgs>

DatatypeChanged

Gets fired when the Datatype property changed its value

event EventHandler<ValueChangedEventArgs> DatatypeChanged

Event Type

EventHandler<ValueChangedEventArgs>

DatatypeChanging

Gets fired before the Datatype property changes its value

event EventHandler<ValueChangedEventArgs> DatatypeChanging

Event Type

EventHandler<ValueChangedEventArgs>

DefaultValueChanged

Gets fired when the DefaultValue property changed its value

event EventHandler<ValueChangedEventArgs> DefaultValueChanged

Event Type

EventHandler<ValueChangedEventArgs>

DefaultValueChanging

Gets fired before the DefaultValue property changes its value

event EventHandler<ValueChangedEventArgs> DefaultValueChanging

Event Type

EventHandler<ValueChangedEventArgs>

Derived_union_is_derivedCalled

Gets fired after the operation derived_union_is_derived got called

event EventHandler<OperationCallEventArgs> Derived_union_is_derivedCalled

Event Type

EventHandler<OperationCallEventArgs>

Derived_union_is_derivedCalling

Gets fired before the operation derived_union_is_derived gets called

event EventHandler<OperationCallEventArgs> Derived_union_is_derivedCalling

Event Type

EventHandler<OperationCallEventArgs>

Derived_union_is_read_onlyCalled

Gets fired after the operation derived_union_is_read_only got called

event EventHandler<OperationCallEventArgs> Derived_union_is_read_onlyCalled

Event Type

EventHandler<OperationCallEventArgs>

Derived_union_is_read_onlyCalling

Gets fired before the operation derived_union_is_read_only gets called

event EventHandler<OperationCallEventArgs> Derived_union_is_read_onlyCalling

Event Type

EventHandler<OperationCallEventArgs>

IsAttributeCalled

Gets fired after the operation isAttribute got called

event EventHandler<OperationCallEventArgs> IsAttributeCalled

Event Type

EventHandler<OperationCallEventArgs>

IsAttributeCalling

Gets fired before the operation isAttribute gets called

event EventHandler<OperationCallEventArgs> IsAttributeCalling

Event Type

EventHandler<OperationCallEventArgs>

IsDerivedChanged

Gets fired when the IsDerived property changed its value

event EventHandler<ValueChangedEventArgs> IsDerivedChanged

Event Type

EventHandler<ValueChangedEventArgs>

IsDerivedChanging

Gets fired before the IsDerived property changes its value

event EventHandler<ValueChangedEventArgs> IsDerivedChanging

Event Type

EventHandler<ValueChangedEventArgs>

IsDerivedUnionChanged

Gets fired when the IsDerivedUnion property changed its value

event EventHandler<ValueChangedEventArgs> IsDerivedUnionChanged

Event Type

EventHandler<ValueChangedEventArgs>

IsDerivedUnionChanging

Gets fired before the IsDerivedUnion property changes its value

event EventHandler<ValueChangedEventArgs> IsDerivedUnionChanging

Event Type

EventHandler<ValueChangedEventArgs>

IsIDChanged

Gets fired when the IsID property changed its value

event EventHandler<ValueChangedEventArgs> IsIDChanged

Event Type

EventHandler<ValueChangedEventArgs>

IsIDChanging

Gets fired before the IsID property changes its value

event EventHandler<ValueChangedEventArgs> IsIDChanging

Event Type

EventHandler<ValueChangedEventArgs>

IsNavigableCalled

Gets fired after the operation isNavigable got called

event EventHandler<OperationCallEventArgs> IsNavigableCalled

Event Type

EventHandler<OperationCallEventArgs>

IsNavigableCalling

Gets fired before the operation isNavigable gets called

event EventHandler<OperationCallEventArgs> IsNavigableCalling

Event Type

EventHandler<OperationCallEventArgs>

Multiplicity_of_compositeCalled

Gets fired after the operation multiplicity_of_composite got called

event EventHandler<OperationCallEventArgs> Multiplicity_of_compositeCalled

Event Type

EventHandler<OperationCallEventArgs>

Multiplicity_of_compositeCalling

Gets fired before the operation multiplicity_of_composite gets called

event EventHandler<OperationCallEventArgs> Multiplicity_of_compositeCalling

Event Type

EventHandler<OperationCallEventArgs>

OwningAssociationChanged

Gets fired when the OwningAssociation property changed its value

event EventHandler<ValueChangedEventArgs> OwningAssociationChanged

Event Type

EventHandler<ValueChangedEventArgs>

OwningAssociationChanging

Gets fired before the OwningAssociation property changes its value

event EventHandler<ValueChangedEventArgs> OwningAssociationChanging

Event Type

EventHandler<ValueChangedEventArgs>

Redefined_property_inheritedCalled

Gets fired after the operation redefined_property_inherited got called

event EventHandler<OperationCallEventArgs> Redefined_property_inheritedCalled

Event Type

EventHandler<OperationCallEventArgs>

Redefined_property_inheritedCalling

Gets fired before the operation redefined_property_inherited gets called

event EventHandler<OperationCallEventArgs> Redefined_property_inheritedCalling

Event Type

EventHandler<OperationCallEventArgs>

Subsetted_property_namesCalled

Gets fired after the operation subsetted_property_names got called

event EventHandler<OperationCallEventArgs> Subsetted_property_namesCalled

Event Type

EventHandler<OperationCallEventArgs>

Subsetted_property_namesCalling

Gets fired before the operation subsetted_property_names gets called

event EventHandler<OperationCallEventArgs> Subsetted_property_namesCalling

Event Type

EventHandler<OperationCallEventArgs>

SubsettingContextCalled

Gets fired after the operation subsettingContext got called

event EventHandler<OperationCallEventArgs> SubsettingContextCalled

Event Type

EventHandler<OperationCallEventArgs>

SubsettingContextCalling

Gets fired before the operation subsettingContext gets called

event EventHandler<OperationCallEventArgs> SubsettingContextCalling

Event Type

EventHandler<OperationCallEventArgs>

Subsetting_context_conformsCalled

Gets fired after the operation subsetting_context_conforms got called

event EventHandler<OperationCallEventArgs> Subsetting_context_conformsCalled

Event Type

EventHandler<OperationCallEventArgs>

Subsetting_context_conformsCalling

Gets fired before the operation subsetting_context_conforms gets called

event EventHandler<OperationCallEventArgs> Subsetting_context_conformsCalling

Event Type

EventHandler<OperationCallEventArgs>

Subsetting_rulesCalled

Gets fired after the operation subsetting_rules got called

event EventHandler<OperationCallEventArgs> Subsetting_rulesCalled

Event Type

EventHandler<OperationCallEventArgs>

Subsetting_rulesCalling

Gets fired before the operation subsetting_rules gets called

event EventHandler<OperationCallEventArgs> Subsetting_rulesCalling

Event Type

EventHandler<OperationCallEventArgs>