Abstract Class UML 2.3::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.
Direct Superclasses: PackageableElement,
TypedElementDirect Subclasses: TimeExpression,
OpaqueExpression,
LiteralSpecification,
Interval,
InstanceValue,
Expression,
DurationClass Precedence List: ValueSpecification,
PackageableElement,
ParameterableElement,
TypedElement,
NamedElement,
ElementProperties:
visibility :
VisibilityKind (1 1); -- source
PackageableElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement templateParameter :
TemplateParameter (0 1); -- source
ParameterableElement The template parameter that exposes this element as a formal parameter.
Opposite: TemplateParameter.parameteredElement
type :
Type (0 1); -- source
TypedElement 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: 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].