Interface IMultiplicityElement
The public interface for MultiplicityElement
[DefaultImplementationType(typeof(MultiplicityElement))]
[XmlDefaultImplementationType(typeof(MultiplicityElement))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//MultiplicityElement")]
public interface IMultiplicityElement : IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
IsOrdered
For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this MultiplicityElement are sequentially ordered. <p>From package UML::CommonStructure.</p>
[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 MultiplicityElement are unique. <p>From package UML::CommonStructure.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isUnique")]
[XmlAttribute(true)]
bool IsUnique { get; set; }
Property Value
LowerValue
The specification of the lower bound for this multiplicity. <p>From package UML::CommonStructure.</p>
[Browsable(false)]
[XmlElementName("lowerValue")]
[XmlAttribute(false)]
[Containment]
IValueSpecification LowerValue { get; set; }
Property Value
UpperValue
The specification of the upper bound for this multiplicity. <p>From package UML::CommonStructure.</p>
[Browsable(false)]
[XmlElementName("upperValue")]
[XmlAttribute(false)]
[Containment]
IValueSpecification UpperValue { get; set; }
Property Value
Methods
CompatibleWith(IMultiplicityElement)
The operation compatibleWith takes another multiplicity as input. It returns true if the other multiplicity is wider than, or the same as, self. result = ((other.lowerBound() <= self.lowerBound()) and ((other.upperBound() = *) or (self.upperBound() <= other.upperBound()))) <p>From package UML::CommonStructure.</p>
bool CompatibleWith(IMultiplicityElement other)
Parameters
other
IMultiplicityElement
Returns
GetLower()
The derived lower attribute must equal the lowerBound. result = (lowerBound()) <p>From package UML::CommonStructure.</p>
int GetLower()
Returns
GetUpper()
The derived upper attribute must equal the upperBound. result = (upperBound()) <p>From package UML::CommonStructure.</p>
void GetUpper()
IncludesMultiplicity(IMultiplicityElement)
The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity. self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty() result = ((self.lowerBound() <= M.lowerBound()) and (self.upperBound() >= M.upperBound())) <p>From package UML::CommonStructure.</p>
bool IncludesMultiplicity(IMultiplicityElement m)
Parameters
Returns
Is(int, object)
The operation is determines if the upper and lower bound of the ranges are the ones given. result = (lowerbound = self.lowerBound() and upperbound = self.upperBound()) <p>From package UML::CommonStructure.</p>
bool Is(int lowerbound, object upperbound)
Parameters
Returns
IsMultivalued()
The query isMultivalued() checks whether this multiplicity has an upper bound greater than one. upperBound()->notEmpty() result = (upperBound() > 1) <p>From package UML::CommonStructure.</p>
bool IsMultivalued()
Returns
LowerBound()
The query lowerBound() returns the lower bound of the multiplicity as an integer, which is the integerValue of lowerValue, if this is given, and 1 otherwise. result = (if (lowerValue=null or lowerValue.integerValue()=null) then 1 else lowerValue.integerValue() endif) <p>From package UML::CommonStructure.</p>
int LowerBound()
Returns
Lower_ge_0(object, object)
The lower bound must be a non-negative integer literal. 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
Lower_is_integer(object, object)
If it is not empty, then lowerValue must have an Integer value. lowerValue <> null implies lowerValue.integerValue() <> null
bool Lower_is_integer(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
SetLower(int)
void SetLower(int newLower)
Parameters
newLower
int
SetUpper(object)
void SetUpper(object newUpper)
Parameters
newUpper
object
UpperBound()
The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an unlimited natural, which is the unlimitedNaturalValue of upperValue, if given, and 1, otherwise. result = (if (upperValue=null or upperValue.unlimitedValue()=null) then 1 else upperValue.unlimitedValue() endif) <p>From package UML::CommonStructure.</p>
void UpperBound()
Upper_ge_lower(object, object)
The upper bound must be greater than or equal to the lower bound. 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
Upper_is_unlimitedNatural(object, object)
If it is not empty, then upperValue must have an UnlimitedNatural value. upperValue <> null implies upperValue.unlimitedValue() <> null
bool Upper_is_unlimitedNatural(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 lowerValue or upperValue, then that specification must be a constant expression.
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 lowerValue or upperValue, then evaluating that specification must not have side effects.
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.