Override skipping fields - #565
Conversation
|
3.15-RC4 |
That is NOT sufficient reason to merge. I am not happy. |
|
Some other projects I've worked on have a 24h minimum open PR window. You might want to consider that here. |
Absolutely not - totally wrong thinking there @thatcomputerguy0101 !!! Firstly this to me is an incredibly important library, it's not just a little dependency on the side but it is an infrastructure style dependency and operates where ever JSON is used. If you are part of the java ecosystem that is moving away from reflection and towards ahead-of-time then avaje-jsonb can be considered extremely important. The ask of us is to maintain this library at a level of excellence and not just for today or tomorrow but for the next 15 years. We as maintainers have to feel the weight of responsibility that comes with that. Many many people and projects are wanting us to be excellent maintainers and for a long time - because avaje-jsonb will be a key infrastructure dependency and a long lived dependency and because JSON is almost everywhere you look. Feel and understand the weight of responsibility that we have here and what is being asked of us, what I am asking of us. We need to be excellent and excellent over a long period of time. |
Apologies @thatcomputerguy0101 . I totally misread what you said and read it the other way - my bad.
Yeah ok, got it. |
This is a mistake I have made too many times myself. As the maintainer of ebean orm that is just shy of 20 years as an open source project, a lot of the regrets come in the form of something that looks simple enough or useful enough but years down the track become a regret. I should also say @SentryMan that you have been excellent with all these avaje projects. To me I'd also say that we often think differently and see different solutions and pros/cons of approaches, and to me that is a massive help to these projects resulting in better quality solutions. Its just with long lived libraries when we need feel that weight of a 15 year horizon and being excellent over a long period. Hence, we always try and maintain discipline on the decision making. |
For the first point of #558, this adds a
forceSerializemethod toJsonWriterto override skipping fields. This is implemented with a flag that is set whenforceSerializeis called and reset whenwriteDeferredNameis called, since all value writers and nested constructs make a call towriteDifferedNamebefore writing their contents.