cyclonedx.contrib.bom.utils

Bom related utilities

Classes

BomRefDiscriminator

Ensure that a collection of BomRef objects has unique, non‑empty values.

Module Contents

class cyclonedx.contrib.bom.utils.BomRefDiscriminator(bomrefs: collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef], prefix: str = 'BomRef')

Ensure that a collection of BomRef objects has unique, non‑empty values.

The discriminator inspects the provided BomRef instances and assigns new, automatically generated identifiers to any BomRef whose value is missing or duplicates another. Original values are preserved so they can be restored later via reset() or by using this class as a context manager.

discriminate() None

Enforce uniqueness across all BomRef values.

Any BomRef whose value is None or duplicates a previously encountered value is assigned a newly generated unique identifier.

reset() None

Restore all BomRef values to their original state.

classmethod from_bom(bom: cyclonedx.model.bom.Bom, prefix: str = 'BomRef') BomRefDiscriminator

Create a discriminator for all BomRefs contained within a BOM.

This includes BomRefs from - components - services - vulnerabilities