cyclonedx.contrib.bom.utils

Bom related utilities

Classes

BomRefDiscriminator

Ensure that a collection of BomRef objects

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 cyclonedx.model.bom_ref.BomRef.value.

The discriminator inspects each provided BomRef and assigns a newly generated identifier to any instance whose value is missing or duplicates an earlier one. All original values are preserved and can be restored via reset() or by using this class as a context manager.

discriminate() None

Enforce uniqueness across all :attr:`cyclonedx.model.bom_ref.BomRef.value`s.

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

reset() None

Restore all :attr:`cyclonedx.model.bom_ref.BomRef.value`s to their original state.

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

Create a discriminator for all cyclonedx.model.bom_ref.BomRefs contained within a Bom.

This includes BomRefs from