pub trait ComponentMetadataCatalog: Send + Sync {
// Required methods
fn get_metadata(&self, scheme: &str) -> Option<ComponentMetadata>;
fn schemes(&self) -> Vec<String>;
fn all_metadata(&self) -> Vec<ComponentMetadata>;
// Provided method
fn query_capabilities(
&self,
query: &CapabilityQuery,
) -> Vec<ComponentMetadata> { ... }
}Expand description
Query interface for component metadata at runtime.
Implementations store ComponentMetadata entries keyed by URI scheme
and provide lookup and capability-filtering operations.
Required Methods§
Sourcefn get_metadata(&self, scheme: &str) -> Option<ComponentMetadata>
fn get_metadata(&self, scheme: &str) -> Option<ComponentMetadata>
Look up metadata for a component by its URI scheme.
Sourcefn all_metadata(&self) -> Vec<ComponentMetadata>
fn all_metadata(&self) -> Vec<ComponentMetadata>
Return metadata for all registered components.
Provided Methods§
Sourcefn query_capabilities(&self, query: &CapabilityQuery) -> Vec<ComponentMetadata>
fn query_capabilities(&self, query: &CapabilityQuery) -> Vec<ComponentMetadata>
Filter components by capability query. Returns all metadata entries whose capabilities match every field in the query.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".