jackson-module-jsonSchema
jackson-module-jsonSchema copied to clipboard
Refactoring: Validation Groups, v3 and v4 Required support, Chaining of processors
Refactoring to take into account validation groups and constraints on custom annotations. In doing so, made it easier to process new annotations and chain together processors. Also added the ability to support v3 required boolean and v4 required field name set.
NOTE: this is java 8 only as 7 is pretty much EOL.
Java 8 would be fine for version 3.0 of Jackson (but not 2.9). However I don't understand why you'd suggest changing version to 4.0.0 -- modules are not independently versioned but rather along with core Jackson components.
Actually, come to think of it. I am not sure if it'd make sense to create a new module altogether, and deprecate this one (meaning, this repo would be for 2.x; new one for 3.x). Since 3.0 of Jackson is major change, not backwards compatible, bigger changes are possible. You could make bigger changes.
I don't really care about history that much and I could give you bigger access.
Of course there is also the question of whether it needs to be under FasterXML at all -- the only real benefit is that this way I can (... and have to :) ) make releases as part of general Jackson release. I don't really use JSON Schema myself, and consequently can not help a lot with module otherwise.
As such it might be better to have module be under some other organization. At the same time I am ok with it being under FX and granting necessary access for modifications, whatever works best.
Whatever you think is best is fine with me. My rationale on the version was to keep it inline with the JsonSchema version. Since I was doing v4, although draft, I had put 0.4.0 but I knew you wouldn't want to go backwards so I did 4.0.0. We can make it whatever though.
Short of the change to using version 8 of Java I think bringing back a few of the classes and just wrapping those names around the new ones and marking them as deprecated that it would still comply with the old API. If you wanted to keep it from breaking the old API.