Package com.kazforge.jsonapi.representation
@NullMarked
package com.kazforge.jsonapi.representation
Backend-independent representation shaping and inclusion/fieldset contracts.
A RepresentationSelection is per operation,
requests only include paths and sparse fieldsets, and preserves whether include was
explicitly supplied. A RepresentationPolicy is
application/runtime configuration that permits and bounds those requests. A selection does not
grant permission or override policy, and representation policy is not a substitute for endpoint,
resource, or field authorization. Selection and policy carry JSON:API member names.
-
ClassDescriptionAllowance key for field-policy checks: owner JSON:API resource type plus attribute or relationship member name.Application allow-list over
(resourceType, fieldName)pairs for sparse fieldsets.An ordered include path of JSON:API relationship names.Decides which relationships may be traversed for compound-document inclusion.Allowance key for include-policy checks: owner JSON:API resource type plus relationship name.Immutable application/runtime policy applied to a per-operationRepresentationSelection.Backend-independent immutable per-operation selection of include paths and sparse fieldsets.Mutable builder whoseRepresentationSelection.Builder.build()result defensively copies all supplied values.