Interface IMultiplicityElement
The public interface for MultiplicityElement
[DefaultImplementationType(typeof(MultiplicityElement))]
[XmlDefaultImplementationType(typeof(MultiplicityElement))]
[ModelRepresentationClass("http://www.omg.org/spec/MOF/20131001/cmof.xmi#//MultiplicityElement")]
public interface IMultiplicityElement : IElement, IObject, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
IsOrdered
For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this element are sequentially ordered.
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isOrdered")]
[XmlAttribute(true)]
bool IsOrdered { get; set; }
Property Value
IsUnique
For a multivalued multiplicity, this attributes specifies whether the values in an instantiation of this element are unique.
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isUnique")]
[XmlAttribute(true)]
bool IsUnique { get; set; }
Property Value
LowerValue
The specification of the lower bound for this multiplicity.
[Browsable(false)]
[XmlElementName("lowerValue")]
[XmlAttribute(false)]
[Containment]
IValueSpecification LowerValue { get; set; }
Property Value
UpperValue
The specification of the upper bound for this multiplicity.
[Browsable(false)]
[XmlElementName("upperValue")]
[XmlAttribute(false)]
[Containment]
IValueSpecification UpperValue { get; set; }
Property Value
Methods
IncludesCardinality(int)
The query includesCardinality() checks whether the specified cardinality is valid for this multiplicity. result = (lowerBound() <= C) and (upperBound() >= C) upperBound()->notEmpty() and lowerBound()->notEmpty()
bool IncludesCardinality(int c)
Parameters
c
int
Returns
IncludesMultiplicity(IMultiplicityElement)
The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity. result = (self.lowerBound() <= M.lowerBound()) and (self.upperBound() >= M.upperBound()) self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()
bool IncludesMultiplicity(IMultiplicityElement m)
Parameters
Returns
IsMultivalued()
The query isMultivalued() checks whether this multiplicity has an upper bound greater than one. upperBound()->notEmpty() result = upperBound() > 1
bool IsMultivalued()
Returns
LowerBound()
The query lowerBound() returns the lower bound of the multiplicity as an integer. result = if lowerValue->isEmpty() then 1 else lowerValue.integerValue() endif
int LowerBound()
Returns
Lower_ge_0(object, object)
The lower bound must be a non-negative integer literal. lowerBound()->notEmpty() implies lowerBound() >= 0
bool Lower_ge_0(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
UpperBound()
The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an unlimited natural. result = if upperValue->isEmpty() then 1 else upperValue.unlimitedValue() endif
void UpperBound()
Upper_ge_lower(object, object)
The upper bound must be greater than or equal to the lower bound. (upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound()
bool Upper_ge_lower(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Value_specification_constant(object, object)
If a non-literal ValueSpecification is used for the lower or upper bound, then that specification must be a constant expression. true
bool Value_specification_constant(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Value_specification_no_side_effects(object, object)
If a non-literal ValueSpecification is used for the lower or upper bound, then evaluating that specification must not have side effects. true
bool Value_specification_no_side_effects(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.