@@ -117,10 +117,10 @@ def __init__(
117117 self .external_references = external_references or () # type:ignore[assignment]
118118
119119 @property
120- @serializable .json_name ('bom-ref' )
121120 @serializable .type_mapping (BomRef )
122- @serializable .xml_attribute ( )
121+ @serializable .json_name ( 'bom-ref' )
123122 @serializable .xml_name ('bom-ref' )
123+ @serializable .xml_attribute ()
124124 def bom_ref (self ) -> BomRef :
125125 """
126126 An optional identifier which can be used to reference the requirement elsewhere in the BOM.
@@ -277,8 +277,8 @@ def __hash__(self) -> int:
277277 return hash (self .__comparable_tuple ())
278278
279279 def __repr__ (self ) -> str :
280- return f'<Requirement bom-ref={ self ._bom_ref } , identifier={ self .identifier } , title= { self . title } , ' \
281- f'text={ self .text } , parent={ self .parent } >'
280+ return f'<Requirement bom-ref={ self ._bom_ref } , identifier={ self .identifier } , ' \
281+ f'title= { self . title } , text={ self .text } , parent={ self .parent } >'
282282
283283
284284@serializable .serializable_class
@@ -302,10 +302,10 @@ def __init__(
302302 self .requirements = requirements or () # type:ignore[assignment]
303303
304304 @property
305- @serializable .json_name ('bom-ref' )
306305 @serializable .type_mapping (BomRef )
307- @serializable .xml_attribute ( )
306+ @serializable .json_name ( 'bom-ref' )
308307 @serializable .xml_name ('bom-ref' )
308+ @serializable .xml_attribute ()
309309 def bom_ref (self ) -> BomRef :
310310 """
311311 An optional identifier which can be used to reference the level elsewhere in the BOM.
@@ -390,8 +390,8 @@ def __hash__(self) -> int:
390390 return hash (self .__comparable_tuple ())
391391
392392 def __repr__ (self ) -> str :
393- return f'<Level bom-ref={ self .bom_ref } , identifier={ self .identifier } , title= { self . title } , ' \
394- f'description={ self .description } >'
393+ return f'<Level bom-ref={ self .bom_ref } , identifier={ self .identifier } , ' \
394+ f'title= { self . title } , description={ self .description } >'
395395
396396
397397@serializable .serializable_class
@@ -411,6 +411,7 @@ def __init__(
411411 requirements : Optional [Iterable [Requirement ]] = None ,
412412 levels : Optional [Iterable [Level ]] = None ,
413413 external_references : Optional [Iterable ['ExternalReference' ]] = None
414+ # TODO: signature
414415 ) -> None :
415416 self ._bom_ref = _bom_ref_from_str (bom_ref )
416417 self .name = name
@@ -420,12 +421,13 @@ def __init__(
420421 self .requirements = requirements or () # type:ignore[assignment]
421422 self .levels = levels or () # type:ignore[assignment]
422423 self .external_references = external_references or () # type:ignore[assignment]
424+ # TODO: signature
423425
424426 @property
425- @serializable .json_name ('bom-ref' )
426427 @serializable .type_mapping (BomRef )
427- @serializable .xml_attribute ( )
428+ @serializable .json_name ( 'bom-ref' )
428429 @serializable .xml_name ('bom-ref' )
430+ @serializable .xml_attribute ()
429431 def bom_ref (self ) -> BomRef :
430432 """
431433 An optional identifier which can be used to reference the standard elsewhere in the BOM. Every bom-ref MUST be
@@ -530,6 +532,16 @@ def external_references(self) -> 'SortedSet[ExternalReference]':
530532 def external_references (self , external_references : Iterable [ExternalReference ]) -> None :
531533 self ._external_references = SortedSet (external_references )
532534
535+ # @property
536+ # @serializable.xml_sequence(8)
537+ # # MUST NOT RENDER FOR XML -- this is JSON only
538+ # def signature(self) -> ...:
539+ # ...
540+ #
541+ # @signature.setter
542+ # def levels(self, signature: ...) -> None:
543+ # ...
544+
533545 def __comparable_tuple (self ) -> _ComparableTuple :
534546 # all properties are optional - so need to apply all, in hope that one is unique
535547 return _ComparableTuple ((
@@ -553,7 +565,8 @@ def __hash__(self) -> int:
553565 return hash (self .__comparable_tuple ())
554566
555567 def __repr__ (self ) -> str :
556- return f'<Standard bom-ref={ self .bom_ref } , name={ self .name } , version={ self .version } , ' \
568+ return f'<Standard bom-ref={ self .bom_ref } , ' \
569+ f'name={ self .name } , version={ self .version } , ' \
557570 f'description={ self .description } , owner={ self .owner } >'
558571
559572
0 commit comments