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.
Direct Superclasses: TypedElement,
PackageableElementDirect Subclasses: TimeExpression,
OpaqueExpression,
LiteralSpecification,
Interval,
InstanceValue,
Expression,
DurationClass Precedence List: ValueSpecification,
TypedElement,
PackageableElement,
ParameterableElement,
NamedElement,
ElementProperties:
type :
Type (0 1); -- source
TypedElement visibility :
VisibilityKind (1 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:
No additional 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{}
Send questions or comments to
[email protected].