41
41
from .bom_ref import BomRef
42
42
from .component import Component
43
43
from .contact import OrganizationalContact , OrganizationalEntity
44
+ from .definition import DefinitionRepository , _DefinitionRepositoryHelper
44
45
from .dependency import Dependable , Dependency
45
46
from .license import License , LicenseExpression , LicenseRepository
46
47
from .service import Service
@@ -317,6 +318,7 @@ def __init__(
317
318
dependencies : Optional [Iterable [Dependency ]] = None ,
318
319
vulnerabilities : Optional [Iterable [Vulnerability ]] = None ,
319
320
properties : Optional [Iterable [Property ]] = None ,
321
+ definitions : Optional [DefinitionRepository ] = None ,
320
322
) -> None :
321
323
"""
322
324
Create a new Bom that you can manually/programmatically add data to later.
@@ -333,6 +335,7 @@ def __init__(
333
335
self .vulnerabilities = vulnerabilities or [] # type:ignore[assignment]
334
336
self .dependencies = dependencies or [] # type:ignore[assignment]
335
337
self .properties = properties or [] # type:ignore[assignment]
338
+ self .definitions = definitions or DefinitionRepository ()
336
339
337
340
@property
338
341
@serializable .type_mapping (UrnUuidHelper )
@@ -520,6 +523,23 @@ def vulnerabilities(self) -> 'SortedSet[Vulnerability]':
520
523
def vulnerabilities (self , vulnerabilities : Iterable [Vulnerability ]) -> None :
521
524
self ._vulnerabilities = SortedSet (vulnerabilities )
522
525
526
+ @property
527
+ @serializable .type_mapping (_DefinitionRepositoryHelper )
528
+ @serializable .view (SchemaVersion1Dot6 )
529
+ @serializable .xml_sequence (90 )
530
+ def definitions (self ) -> Optional [DefinitionRepository ]:
531
+ """
532
+ The repository for definitions
533
+
534
+ Returns:
535
+ `DefinitionRepository`
536
+ """
537
+ return self ._definitions
538
+
539
+ @definitions .setter
540
+ def definitions (self , definitions : DefinitionRepository ) -> None :
541
+ self ._definitions = definitions
542
+
523
543
# @property
524
544
# ...
525
545
# @serializable.view(SchemaVersion1Dot5)
0 commit comments