|
14 | 14 | # Copyright (c) OWASP Foundation. All Rights Reserved. |
15 | 15 |
|
16 | 16 |
|
17 | | -from typing import Any, Iterable, Optional, Union |
| 17 | +from typing import TYPE_CHECKING, Any, Iterable, Optional, Union |
18 | 18 |
|
19 | 19 | import serializable |
20 | 20 | from sortedcontainers import SortedSet |
|
23 | 23 | from ..exception.model import NoPropertiesProvidedException |
24 | 24 | from ..schema.schema import SchemaVersion1Dot6 |
25 | 25 | from ..serialization import BomRefHelper |
26 | | -from . import XsUri |
27 | 26 | from .bom_ref import BomRef |
28 | 27 |
|
| 28 | +if TYPE_CHECKING: # pragma: no cover |
| 29 | + from . import XsUri |
| 30 | + |
29 | 31 |
|
30 | 32 | @serializable.serializable_class |
31 | 33 | class PostalAddress: |
@@ -276,7 +278,7 @@ class OrganizationalEntity: |
276 | 278 | See the CycloneDX Schema definition: https://cyclonedx.org/docs/1.4/xml/#type_organizationalEntity |
277 | 279 | """ |
278 | 280 |
|
279 | | - def __init__(self, *, name: Optional[str] = None, urls: Optional[Iterable[XsUri]] = None, |
| 281 | + def __init__(self, *, name: Optional[str] = None, urls: Optional[Iterable['XsUri']] = None, |
280 | 282 | contacts: Optional[Iterable[OrganizationalContact]] = None, |
281 | 283 | address: Optional[PostalAddress] = None) -> None: |
282 | 284 | if not name and not urls and not contacts: |
@@ -333,7 +335,7 @@ def urls(self) -> 'SortedSet[XsUri]': |
333 | 335 | return self._urls |
334 | 336 |
|
335 | 337 | @urls.setter |
336 | | - def urls(self, urls: Iterable[XsUri]) -> None: |
| 338 | + def urls(self, urls: Iterable['XsUri']) -> None: |
337 | 339 | self._urls = SortedSet(urls) |
338 | 340 |
|
339 | 341 | @property |
|
0 commit comments