|
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