Interface IClassifierTemplateParameter
The public interface for ClassifierTemplateParameter
[DefaultImplementationType(typeof(ClassifierTemplateParameter))]
[XmlDefaultImplementationType(typeof(ClassifierTemplateParameter))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//ClassifierTemplateParameter")]
public interface IClassifierTemplateParameter : ITemplateParameter, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
AllowSubstitutable
Constrains the required relationship between an actual parameter and the parameteredElement for this formal parameter. <p>From package UML::Classification.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("allowSubstitutable")]
[XmlAttribute(true)]
bool AllowSubstitutable { get; set; }
Property Value
ConstrainingClassifier
The classifiers that constrain the argument that can be used for the parameter. If the allowSubstitutable attribute is true, then any Classifier that is compatible with this constraining Classifier can be substituted; otherwise, it must be either this Classifier or one of its specializations. If this property is empty, there are no constraints on the Classifier that can be used as an argument. <p>From package UML::Classification.</p>
[XmlElementName("constrainingClassifier")]
[XmlAttribute(true)]
ISetExpression<IClassifier> ConstrainingClassifier { get; }
Property Value
Methods
Actual_is_classifier(object, object)
The argument to a ClassifierTemplateParameter is a Classifier. templateParameterSubstitution.actual->forAll(a | a.oclIsKindOf(Classifier))
bool Actual_is_classifier(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
Constraining_classifiers_constrain_args(object, object)
If there are any constrainingClassifiers, then every argument must be the same as or a specialization of them, or if allowSubstitutable is true, then it can also be substitutable.
templateParameterSubstitution.actual->forAll( a |
let arg : Classifier = a.oclAsType(Classifier) in
constrainingClassifier->forAll(
cc |
arg = cc or arg.conformsTo(cc) or (allowSubstitutable and arg.isSubstitutableFor(cc))
)
)
bool Constraining_classifiers_constrain_args(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
Constraining_classifiers_constrain_parametered_element(object, object)
If there are any constrainingClassifiers, then the parameteredElement must be the same as or a specialization of them, or if allowSubstitutable is true, then it can also be substitutable. constrainingClassifier->forAll( cc | parameteredElement = cc or parameteredElement.conformsTo(cc) or (allowSubstitutable and parameteredElement.isSubstitutableFor(cc)) )
bool Constraining_classifiers_constrain_parametered_element(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
Has_constraining_classifier(object, object)
If allowSubstitutable is true, then there must be a constrainingClassifier. allowSubstitutable implies constrainingClassifier->notEmpty()
bool Has_constraining_classifier(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
Matching_abstract(object, object)
If the parameteredElement is not abstract, then the Classifier used as an argument shall not be abstract. (not parameteredElement.isAbstract) implies templateParameterSubstitution.actual->forAll(a | not a.oclAsType(Classifier).isAbstract)
bool Matching_abstract(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
Parametered_element_no_features(object, object)
The parameteredElement has no direct features, and if constrainedElement is empty it has no generalizations. parameteredElement.feature->isEmpty() and (constrainingClassifier->isEmpty() implies parameteredElement.allParents()->isEmpty())
bool Parametered_element_no_features(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.