Backend-independent application contracts and values implemented by the configured Jackson 3 runtime. This module defines contracts and values; it has no standalone Jackson runtime. User workflows belong to the public guide.
| Package | Responsibility |
|---|---|
com.kazforge.jsonapi |
Supported-package overview and cross-package invariants |
com.kazforge.jsonapi.api |
Level-1 JsonApi root and resource, relationship, document, and PATCH facets |
com.kazforge.jsonapi.document |
Document read contexts, primary-data kind, and write envelope |
com.kazforge.jsonapi.mapping |
Mapping, provenance, decoration, typed-envelope, registry, and identifier-meta contracts |
com.kazforge.jsonapi.patch |
Presence, command, change, and structured PATCH contracts |
com.kazforge.jsonapi.representation |
Include/fieldset selection and application policy |
com.kazforge.jsonapi.diagnostic |
Stable codec/mapping diagnostics and locations |
Each package's documentation owns its invariants. The packages carry backend-independent contract
and value shapes only: configured Jackson in the Jackson 3 adapter derives the observable property
semantics, and mapping implementation lives in the unsupported internal mapping package of
jsonapi-java-jackson3.
JsonApi groups ordinary resource, linkage-document, raw-document, and PATCH operations. Advanced
major-specific readers, writers, mapping/binding, parameterized Jackson types, and heterogeneous
typed envelopes remain adapter capabilities. ADR-012
owns that split.
- No production signature imports
tools.jackson.*,com.fasterxml.jackson.*, or a major-specific adapter package. - This artifact ships only supported contract packages. Mapping and native wire/codec helpers live in Jackson 3's distinct internal packages; neither may appear in supported public signatures per ADR-016.
See the architecture overview and conformance checklist.