Abstract Class UML 2.4.1::ValueSpecification

Description:

ValueSpecification specializes ParameterableElement to specify that a value
specification can be exposed as a formal template parameter, and provided
as an actual parameter in a binding of a template.A value specification
is the specification of a (possibly empty) set of instances, including
both objects and data values.

Constraints:

Operations:

Signature: unlimitedValue() : UnlimitedNatural;Description: The query unlimitedValue() gives a single UnlimitedNatural value when one
can be computed.Expression: result = Set{}

Signature: stringValue() : String;Description: The query stringValue() gives a single String value when one can be computed.Expression: result = Set{}

Signature: realValue() : Real;Description: The query realValue() gives a single Real value when one can be computed.Expression: result = Set{}

Signature: isNull() : Boolean;Description: The query isNull() returns true when it can be computed that the value
is null.Expression: result = false

Signature: isComputable() : Boolean;Description: The query isComputable() determines whether a value specification can be
computed in a model. This operation cannot be fully defined in OCL. A conforming
implementation is expected to deliver true for this operation for all value
specifications that it can compute, and to compute all of those for which
the operation is true. A conforming implementation is expected to be able
to compute the value of all literals.Expression: result = false

Signature: isCompatibleWith(p : ParameterableElement; ) : Boolean;Description: The query isCompatibleWith() determines if this parameterable element is
compatible with the specified parameterable element. By default parameterable
element P is compatible with parameterable element Q if the kind of P is
the same or a subtype as the kind of Q. In addition, for ValueSpecification,
the type must be conformant with the type of the specified parameterable
element.The OCL used here is not normative.Editor's notes: oclType() not oclType. no oclType in OCL, AFAIK. This implementation has one one though...Expression: result = p->oclIsKindOf(self.oclType()) and self.type.conformsTo(p.oclAsType(TypedElement).type)Original: result = p->oclIsKindOf(self.oclType) and self.type.conformsTo(p.oclAsType(TypedElement).type)

Signature: integerValue() : Integer;Description: The query integerValue() gives a single Integer value when one can be computed.Expression: result = Set{}

Signature: booleanValue() : Boolean;Description: The query booleanValue() gives a single Boolean value when one can be computed.Expression: result = Set{}