Hi Varun
I take it that you are referring to gen5 APIs, I think I can see this from the diagrams you attached. So:
- One of the major changes in v5 was the introduction of strongly-typed characteristics. The Characteristic base class is now abstract, and indeed it doesn't have a value property. Each concrete subclass implements value according to a different JSON basic type, so StringCharacteristic has value with type string, NumberCharacteristic has value with type number, etc. Same applies at the specification (catalog) level, with characteristic spec value being an abstract base class.
The link between characteristic and characteristic spec is logical, by the name property. This is not new, it's been like this for as long as I have been involved in the Open API project, and probably longer still (many years already). The idea is that the Product has a reference to its originating offering or spec, and you should then be able to find the characteristic spec for a characteristic using the name property.
Hope this clarifies things for you.
------------------------------
Jonathan Goldberg
Amdocs Management Limited
Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
------------------------------