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
ParameterableElement
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
xmi-interop@omg.org.