Description
BuildableManifestTemplate.ContentDescriptorTemplate contains a mediaType
field that is parsed from JSON, but it is not exposed via a public getter.
At the same time, other descriptor fields such as digest, size, urls,
and annotations are accessible through public methods.
Problem
This makes it difficult to work with descriptor media types without using
reflection, especially when dealing with OCI artifacts.
Use case
When processing OCI manifests, it is often necessary to inspect layer
descriptors and select layers based on their media type.
For example, when working with Helm charts stored as OCI artifacts, the layer
can be identified via: application/vnd.cncf.helm.chart.content.v1.tar+gzip
Without a getter, accessing this requires reflection on internal fields.
Proposed change
Add a public getter to ContentDescriptorTemplate:
@Nullable
public String getMediaType()
Notes
- No behavior change
- Only exposes already parsed data
- Aligns with existing getters on the same class
Description
BuildableManifestTemplate.ContentDescriptorTemplatecontains amediaTypefield that is parsed from JSON, but it is not exposed via a public getter.
At the same time, other descriptor fields such as
digest,size,urls,and
annotationsare accessible through public methods.Problem
This makes it difficult to work with descriptor media types without using
reflection, especially when dealing with OCI artifacts.
Use case
When processing OCI manifests, it is often necessary to inspect layer
descriptors and select layers based on their media type.
For example, when working with Helm charts stored as OCI artifacts, the layer
can be identified via:
application/vnd.cncf.helm.chart.content.v1.tar+gzipWithout a getter, accessing this requires reflection on internal fields.
Proposed change
Add a public getter to
ContentDescriptorTemplate:Notes