pub struct CanonicalId { /* private fields */ }Expand description
Canonical identifier for a component.
This provides a stable, comparable identifier across different SBOM formats. The identifier is derived from the PURL when available, falling back through a tiered strategy to ensure stability.
Implementations§
Source§impl CanonicalId
impl CanonicalId
Sourcepub fn from_name_version(name: &str, version: Option<&str>) -> Self
pub fn from_name_version(name: &str, version: Option<&str>) -> Self
Create a new canonical ID from name and version
Sourcepub fn synthetic(group: Option<&str>, name: &str, version: Option<&str>) -> Self
pub fn synthetic(group: Option<&str>, name: &str, version: Option<&str>) -> Self
Create a synthetic canonical ID from group, name, and version
This provides a stable identifier when primary identifiers (PURL, CPE, SWID)
are not available. The format is: group:name@version or name@version.
Sourcepub fn from_format_id(id: &str) -> Self
pub fn from_format_id(id: &str) -> Self
Create a new canonical ID from a format-specific identifier
Warning: Format-specific IDs (like bom-ref UUIDs) are often unstable
across SBOM regenerations. Use synthetic() or other methods when possible.
Trait Implementations§
Source§impl Clone for CanonicalId
impl Clone for CanonicalId
Source§fn clone(&self) -> CanonicalId
fn clone(&self) -> CanonicalId
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CanonicalId
impl Debug for CanonicalId
Source§impl<'de> Deserialize<'de> for CanonicalId
impl<'de> Deserialize<'de> for CanonicalId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for CanonicalId
impl Display for CanonicalId
Source§impl Hash for CanonicalId
impl Hash for CanonicalId
Source§impl PartialEq for CanonicalId
impl PartialEq for CanonicalId
Source§impl Serialize for CanonicalId
impl Serialize for CanonicalId
impl Eq for CanonicalId
Auto Trait Implementations§
impl Freeze for CanonicalId
impl RefUnwindSafe for CanonicalId
impl Send for CanonicalId
impl Sync for CanonicalId
impl Unpin for CanonicalId
impl UnsafeUnpin for CanonicalId
impl UnwindSafe for CanonicalId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read moreSource§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.