Class UML 2.5::OpaqueExpression
Description:
An OpaqueExpression is a ValueSpecification that specifies the computation
of a collection of values either in terms of a UML Behavior or based on
a textual statement in a language other than UML
Direct Superclasses: ValueSpecificationDirect Subclasses: Class Precedence List: OpaqueExpression,
ValueSpecification,
TypedElement,
PackageableElement,
ParameterableElement,
NamedElement,
ElementProperties:
behavior :
Behavior (0 1); -- source
OpaqueExpression body : String (0 *); -- source
OpaqueExpression language : String (0 *); -- source
OpaqueExpression result :
Parameter (0 1); -- source
OpaqueExpressionIf an OpaqueExpression is specified using a UML Behavior, then this refers
to the single required return Parameter of that Behavior. When the Behavior
completes execution, the values on this Parameter give the result of evaluating
the OpaqueExpression.
{
readonly,
derived}
type :
Type (0 1); -- source
TypedElement visibility :
VisibilityKind (0 1); -- source
PackageableElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElementThe formal TemplateParameter that owns this ParameterableElement.
Subsets: Element.owner, ParameterableElement.templateParameter
Opposite: TemplateParameter.ownedParameteredElement
templateParameter :
TemplateParameter (0 1); -- source
ParameterableElement clientDependency :
Dependency (0 *); -- source
NamedElement name : String (0 1); -- source
NamedElement nameExpression :
StringExpression (0 1); -- source
NamedElement namespace :
Namespace (0 1); -- source
NamedElement qualifiedName : String (0 1); -- source
NamedElement ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementConstraints:
Signature: CMOF_14_3_31() : Boolean;
Description: 14.3 [31] The body of an OpaqueExpression must not be empty.
see also: https://sites.google.com/site/metamodelingantipatterns/catalog/mof/opaque-expression-has-no-or-empty-body
Expression: body->notEmpty() and body <> ''
Operations:
Signature: value() : Integer;
Description: The query value() gives an integer value for an expression intended to
produce one.
Expression: result = (0)
Signature: result.1() : Parameter;
Description: Derivation for OpaqueExpression::/result
Expression: result = (if behavior = null then null else behavior.ownedParameter->first() endif)
Signature: isPositive() : Boolean;
Description: The query isPositive() tells whether an integer expression has a positive
value.
Expression: result = (false)
Signature: isNonNegative() : Boolean;
Description: The query isNonNegative() tells whether an integer expression has a non-negative
value.
Expression: result = (false)
Signature: isIntegral() : Boolean;
Description: The query isIntegral() tells whether an expression is intended to produce
an Integer.
Expression: result = (false)
Send questions or comments to
[email protected].