Skip to content
This repository was archived by the owner on Jan 5, 2026. It is now read-only.
This repository was archived by the owner on Jan 5, 2026. It is now read-only.

100% spec support #1

@hgwood

Description

@hgwood

As of 6.3.0, I believe the only gap remaining between Fanfaron and the spec resides in the type of the items field of the Schema Object. The spec says it can either be a Schema Object, or an array of Schema Objects.

This looks like it could be solved using the same technique as with AdditionalProperties: two constructors annotated with @JsonCreator, one for each possibility. However, Jackson does not support two delegate creators for composite values, and will always select one or the other regardless of the JSON value, then fail at runtime. I don't know if there is a reason for that limitation. I'm looking into it.

An alternative solution would be to have a creator that takes a JsonNode as a parameter, and work with that. The downside is that Jackson Databind would become a compile dependency. I don't really like the idea of requiring this big library just for that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions