The Pivot evaluator operates on
Value s that represent
Element s.
The
StringValue class realises UML’s
String abstraction observing behavior defined for the
String class in the OCL Standard Library model. Note that in UML
String is a PrimitveType with undefined representation,
StringValue is the reification of that abstraction for evaluation purposes.
In Java, it is convenient to use
java.lang.String to realise
StringValue, but that is an implementation convenience. For
IntegerValue there is currently a re-use of
java.lang.BigInteger; this will be changed so that
IntegerValue is a
java.lang.int unless a higher precision is necessary; the wrapping of
java.lang.int as
IntegerValue will therefore have very similar costs and overheads to the conventional boxing of
java.lang.int as
java.lang.Integer.