Skip to content

Make @JsonIgnoreProperties and @JsonPropertyOrder merge (optionally), not just override #82

@cowtowncoder

Description

@cowtowncoder

A small subset of array-valued annotations would benefit from ability to append/merge their values.
List includes at least:

  • @JsonIgnoreProperties (default: simple union/merge)
  • @JsonPropertyOrder (default: simple append?)

In these cases, current behavior of full replacement is probably not what is usually the expected behavior.
But additionally we should probably also allow alternate choice of "override"/"overwrite".

One obvious challenge is that since Annotation types can not be instantiated, we may have to figure out whether we could use value object approach (see @JacksonAnnotationValue for details) to help here.

The main challenge here is to combine two important aspects:

  1. Try to keep annotation-merging/inheritance-handling/resolution code annotation agnostic and fully generic (that is, logic need not know semantics of actual annotation tpes)
  2. Fully handle merging so that un-merged set of annotations need not be exposed to calling code.

So: big part of this is to see if merging is practical, and how.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions