Interface PatchChange

All Known Implementing Classes:
PatchChange.AttributeChange, PatchChange.RelationshipChange, PatchChange.RelationshipMetaChange, PatchChange.ResourceMetaChange

Backend-independent requested change in a PatchCommand: a supplied mapped attribute, relationship, or resource-side meta location. The current Jackson adapters populate it through caller-configured Jackson. Identifier meta (ResourceIdentifier.meta) is not an independent change variant; applications that need it opt into RelationshipLinkage and it participates only as part of whole-linkage replacement on PatchChange.RelationshipChange.

Omitted members never appear. Explicit attribute JSON null is value == null on a present PatchChange.AttributeChange. Relationship NullLinkage is Java null or empty Optional as the Jackson adapter binder would produce. Resource and relationship meta changes carry either a converted atomic replacement or, for a recursively traversed object, a StructuredPatch. Containers remain atomic replacements.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final record 
    A supplied mapped attribute change.
    static final record 
    A supplied mapped relationship linkage replacement.
    static final record 
    A supplied relationship meta change for a specific mapped relationship.
    static final record 
    A supplied resource-side meta change.
  • Method Summary

    Modifier and Type
    Method
    Description
    Final JSON:API member name (including attribute/relationship renames).
    Logical application-property identity on the annotated DTO (Java field, record component, or JavaBean name).
    @Nullable Object
    Converted property value; null means explicit null / null linkage, not omission.
  • Method Details

    • jsonapiName

      String jsonapiName()
      Final JSON:API member name (including attribute/relationship renames).
    • logicalName

      String logicalName()
      Logical application-property identity on the annotated DTO (Java field, record component, or JavaBean name). Distinct from jsonapiName(), which is the final JSON:API member name after configured-Jackson external naming applies. This value does not carry the configured-Jackson external property name as a third field; the current adapters translate between the two through caller-configured Jackson.
    • value

      @Nullable Object value()
      Converted property value; null means explicit null / null linkage, not omission.