|Re: [jakartaee-platform-dev] Jakarta EE common functionality|
One common thing I noticed to be existing in at least JAX-RS, JAX-B, JSON-B, Microprofile-Config, and maybe more specification is: Mapping a type <T> to a String representation and vice versa.
The problematic aspect here is that for *some* <T> the algorithms in JAX-RS, JAX-B, JSON-B etc. are the same, for othere are not, or are just in part. Also in some *situations* a different mapping is some times needed.
This might be one point to discuss for a common "foundational String mapping API" that could be picked up by the higher level APIs to build ontop of it.
On the last platform meeting we touched a topic of a common functionality across different specifications in Jakarta EE. Currently specifications are not using much shared code. As the result, some functionality is implemented differently in different specifications which makes the platform APIs inconsistent. We've discussed the CDI object model API which can be used in other specifications such as JSON Binding without adding a hard dependency to CDI. Servlet team also said that they were planning to add a similar API to their spec. Another example is generic type holder object which is used in CDI, JSON-B and maybe some other specifications. It needs to be resolved at the platform level and there are many ways how it can be done. We can create additional specifications, move shared code to a separate repository and release it as part of the platform project, or move code to Jakarta Annotations which is de-facto only one specifications containing some shared code. There could be more options.
I would like to initiate a community discussion around this topic. Please post your ideas to this thread. I am planning to create a meeting when there are enough ideas for discussion, possibly next week.
Back to the top