pub struct StaticComponentDefinitionRegistry { /* private fields */ }Expand description
Registry of component definitions initialized from statically registered definitions.
Implementations§
Source§impl StaticComponentDefinitionRegistry
impl StaticComponentDefinitionRegistry
pub fn new<CF: ContextFactory>( allow_definition_overriding: bool, context_factory: &CF, ) -> Result<Self, ComponentDefinitionRegistryError>
Trait Implementations§
Source§impl Clone for StaticComponentDefinitionRegistry
impl Clone for StaticComponentDefinitionRegistry
Source§fn clone(&self) -> StaticComponentDefinitionRegistry
fn clone(&self) -> StaticComponentDefinitionRegistry
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 ComponentDefinitionRegistry for StaticComponentDefinitionRegistry
impl ComponentDefinitionRegistry for StaticComponentDefinitionRegistry
Source§fn register_component(
&mut self,
target: TypeId,
target_name: &str,
metadata: &ComponentMetadata,
) -> Result<(), ComponentDefinitionRegistryError>
fn register_component( &mut self, target: TypeId, target_name: &str, metadata: &ComponentMetadata, ) -> Result<(), ComponentDefinitionRegistryError>
Adds a new definition for a given type. Note: handling of duplicate component names is
registry-dependent. Name is used for reporting purposes.
Source§fn register_alias(
&mut self,
alias_type: TypeId,
target_type: TypeId,
alias_name: &str,
target_name: &str,
metadata: &ComponentAliasMetadata,
) -> Result<(), ComponentDefinitionRegistryError>
fn register_alias( &mut self, alias_type: TypeId, target_type: TypeId, alias_name: &str, target_name: &str, metadata: &ComponentAliasMetadata, ) -> Result<(), ComponentDefinitionRegistryError>
Adds an alias for a component of target type. This is useful when registering
dyn Trait as an alias for a given concrete type. If alias cannot by cast to target,
component creation will fail. Names are used for reporting purposes.Source§fn components_by_type(&self, type_id: TypeId) -> Vec<ComponentDefinition>
fn components_by_type(&self, type_id: TypeId) -> Vec<ComponentDefinition>
Returns all registered definitions for a given type.
Source§fn component_by_name(
&self,
name: &str,
type_id: TypeId,
) -> Option<ComponentDefinition>
fn component_by_name( &self, name: &str, type_id: TypeId, ) -> Option<ComponentDefinition>
Returns a definition with given name.
Source§fn primary_component(&self, type_id: TypeId) -> Option<ComponentDefinition>
fn primary_component(&self, type_id: TypeId) -> Option<ComponentDefinition>
Returns primary component for a given type.
Source§fn is_registered(&self, type_id: TypeId) -> bool
fn is_registered(&self, type_id: TypeId) -> bool
Checks if given type is present in this registry.
Source§fn is_name_registered(&self, name: &str) -> bool
fn is_name_registered(&self, name: &str) -> bool
Checks if there’s a definition with given name.
Source§fn all_definitions(&self) -> FxHashMap<TypeId, Vec<ComponentDefinition>>
fn all_definitions(&self) -> FxHashMap<TypeId, Vec<ComponentDefinition>>
Returns a copy of the whole registry as a map.
Source§impl ComponentDefinitionRegistryFacade for StaticComponentDefinitionRegistry
impl ComponentDefinitionRegistryFacade for StaticComponentDefinitionRegistry
Source§fn is_registered(&self, target: TypeId) -> bool
fn is_registered(&self, target: TypeId) -> bool
Checks if given type is present in this registry.
Source§fn is_name_registered(&self, name: &str) -> bool
fn is_name_registered(&self, name: &str) -> bool
Checks if there’s a definition with given name.
Auto Trait Implementations§
impl Freeze for StaticComponentDefinitionRegistry
impl RefUnwindSafe for StaticComponentDefinitionRegistry
impl Send for StaticComponentDefinitionRegistry
impl Sync for StaticComponentDefinitionRegistry
impl Unpin for StaticComponentDefinitionRegistry
impl UnwindSafe for StaticComponentDefinitionRegistry
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<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<CDR> TypedComponentDefinitionRegistry for CDRwhere
CDR: ComponentDefinitionRegistry + ?Sized,
impl<CDR> TypedComponentDefinitionRegistry for CDRwhere
CDR: ComponentDefinitionRegistry + ?Sized,
Source§fn register_component_typed<T>(
&mut self,
metadata: &ComponentMetadata,
) -> Result<(), ComponentDefinitionRegistryError>where
T: Component,
fn register_component_typed<T>(
&mut self,
metadata: &ComponentMetadata,
) -> Result<(), ComponentDefinitionRegistryError>where
T: Component,
Typesafe version of ComponentDefinitionRegistry::register_component.
Source§fn register_alias_typed<Source, Target>(
&mut self,
metadata: &ComponentAliasMetadata,
) -> Result<(), ComponentDefinitionRegistryError>
fn register_alias_typed<Source, Target>( &mut self, metadata: &ComponentAliasMetadata, ) -> Result<(), ComponentDefinitionRegistryError>
Typesafe version of ComponentDefinitionRegistry::register_alias.
Source§fn components_by_type_typed<T>(&self) -> Vec<ComponentDefinition>where
T: Injectable + ?Sized,
fn components_by_type_typed<T>(&self) -> Vec<ComponentDefinition>where
T: Injectable + ?Sized,
Typesafe version of ComponentDefinitionRegistry::components_by_type.
Source§fn primary_component_typed<T>(&self) -> Option<ComponentDefinition>where
T: Injectable + ?Sized,
fn primary_component_typed<T>(&self) -> Option<ComponentDefinition>where
T: Injectable + ?Sized,
Typesafe version of ComponentDefinitionRegistry::primary_component.
Source§fn is_registered_typed<T>(&self) -> boolwhere
T: Injectable,
fn is_registered_typed<T>(&self) -> boolwhere
T: Injectable,
Typesafe version of ComponentDefinitionRegistry::is_registered.