Software Disclaimer

Class UML 2.5::OpaqueExpression


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: ValueSpecification

Direct Subclasses:

Class Precedence List: OpaqueExpression, ValueSpecification, TypedElement, PackageableElement, ParameterableElement, NamedElement, Element


behavior : Behavior (0 1); -- source OpaqueExpression
body : String (0 *); -- source OpaqueExpression

A textual definition of the behavior of the OpaqueExpression, possibly in multiple languages.

language : String (0 *); -- source OpaqueExpression
result : Parameter (0 1); -- source OpaqueExpression
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

Specifies the Namespace that owns the NamedElement.
Derived union with sources: ()
Subsets: Element.owner
Opposite: Namespace.ownedMember

qualifiedName : String (0 1); -- source NamedElement

A name that allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing Namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself.
{readonly, derived}

ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

The Element that owns this Element.
Derived union with sources: (namespace, owningTemplateParameter)
Opposite: Element.ownedElement


Signature: CMOF_14_3_31() : Boolean;
Description: 14.3 [31] The body of an OpaqueExpression must not be empty. see also:
Expression: body->notEmpty() and body <> ''


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