pub struct ReactiveRelationManagerImpl { /* private fields */ }
Trait Implementations§
Source§impl Component for ReactiveRelationManagerImpl
impl Component for ReactiveRelationManagerImpl
Source§impl ComponentDowncast<ReactiveRelationManagerImpl> for ReactiveRelationManagerImpl
impl ComponentDowncast<ReactiveRelationManagerImpl> for ReactiveRelationManagerImpl
Source§impl ComponentDowncast<ReactiveRelationManagerImpl> for dyn ReactiveRelationManager + Sync + Send
impl ComponentDowncast<ReactiveRelationManagerImpl> for dyn ReactiveRelationManager + Sync + Send
Source§impl Lifecycle for ReactiveRelationManagerImpl
impl Lifecycle for ReactiveRelationManagerImpl
Source§fn post_init<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn post_init<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Called after initialization
Source§fn pre_shutdown<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pre_shutdown<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Called before shutdown
Source§impl ReactiveRelationManager for ReactiveRelationManagerImpl
impl ReactiveRelationManager for ReactiveRelationManagerImpl
Source§fn has(&self, id: &RelationInstanceId) -> bool
fn has(&self, id: &RelationInstanceId) -> bool
Returns true, if an relation of the given type exists which starts at the given outbound entity and
ends at the given inbound entity.
Source§fn get(&self, id: &RelationInstanceId) -> Option<ReactiveRelation>
fn get(&self, id: &RelationInstanceId) -> Option<ReactiveRelation>
Returns the ReactiveRelation with the given type_name, which starts at the given
outbound entity and ends at the given inbound entity.
Source§fn get_by_outbound_entity(
&self,
outbound_entity_id: Uuid,
) -> Vec<ReactiveRelation>
fn get_by_outbound_entity( &self, outbound_entity_id: Uuid, ) -> Vec<ReactiveRelation>
Returns all reactive relation instances of the given outbound entity instance.
Source§fn get_by_inbound_entity(
&self,
inbound_entity_id: Uuid,
) -> Vec<ReactiveRelation>
fn get_by_inbound_entity( &self, inbound_entity_id: Uuid, ) -> Vec<ReactiveRelation>
Returns all reactive relation instances of the given inbound entity instance.
Source§fn get_by_type(&self, ty: &RelationTypeId) -> Vec<ReactiveRelation>
fn get_by_type(&self, ty: &RelationTypeId) -> Vec<ReactiveRelation>
Returns all reactive relation instances of the given type.
Source§fn get_by_component(&self, ty: &ComponentTypeId) -> Vec<ReactiveRelation>
fn get_by_component(&self, ty: &ComponentTypeId) -> Vec<ReactiveRelation>
Returns all reactive relation instances of the given type which are of the given component..
Source§fn get_by_behaviour(
&self,
behaviour_ty: &BehaviourTypeId,
) -> Vec<ReactiveRelation>
fn get_by_behaviour( &self, behaviour_ty: &BehaviourTypeId, ) -> Vec<ReactiveRelation>
Returns all reactive relation instances of the given type which behaves as the given behaviour.
Source§fn get_by_namespace(&self, namespace: &str) -> Vec<ReactiveRelation>
fn get_by_namespace(&self, namespace: &str) -> Vec<ReactiveRelation>
Returns all reactive relation instances of the given namespace.
Source§fn count_by_type(&self, ty: &RelationTypeId) -> usize
fn count_by_type(&self, ty: &RelationTypeId) -> usize
Returns the count of registered reactive relation instances of the given type.
Source§fn count_by_component(&self, component_ty: &ComponentTypeId) -> usize
fn count_by_component(&self, component_ty: &ComponentTypeId) -> usize
Returns the count of registered reactive relation instances which are of the given component.
Source§fn count_by_behaviour(&self, behaviour_ty: &BehaviourTypeId) -> usize
fn count_by_behaviour(&self, behaviour_ty: &BehaviourTypeId) -> usize
Returns the count of registered reactive relation instances which behaves as the given behaviour.
Source§fn get_relation_instance_ids(&self) -> Vec<RelationInstanceId>
fn get_relation_instance_ids(&self) -> Vec<RelationInstanceId>
Returns all relation instance ids.
Source§fn create_reactive_relation(
&self,
id: &RelationInstanceId,
properties: PropertyInstances,
) -> Result<ReactiveRelation, ReactiveRelationCreationError>
fn create_reactive_relation( &self, id: &RelationInstanceId, properties: PropertyInstances, ) -> Result<ReactiveRelation, ReactiveRelationCreationError>
Creates a new reactive relation instance.
fn create_reactive_instance( &self, reactive_relation_instance: RelationInstance, ) -> Result<ReactiveRelation, ReactiveRelationCreationError>
Source§fn register_reactive_instance(
&self,
reactive_relation: ReactiveRelation,
) -> Result<ReactiveRelation, ReactiveRelationRegistrationError>
fn register_reactive_instance( &self, reactive_relation: ReactiveRelation, ) -> Result<ReactiveRelation, ReactiveRelationRegistrationError>
Registers the given reactive relation instance and applies components and behaviours.
fn register_or_merge_reactive_instance( &self, relation_instance: ReactiveRelation, ) -> Result<ReactiveRelation, ReactiveRelationRegistrationError>
Source§fn add_component(
&self,
id: &RelationInstanceId,
component_ty: &ComponentTypeId,
) -> Result<(), ReactiveRelationComponentAddError>
fn add_component( &self, id: &RelationInstanceId, component_ty: &ComponentTypeId, ) -> Result<(), ReactiveRelationComponentAddError>
Adds the component with the given name to the relation instance with the given relation instance id.
Source§fn remove_component(
&self,
id: &RelationInstanceId,
component_ty: &ComponentTypeId,
) -> Result<(), ReactiveRelationComponentRemoveError>
fn remove_component( &self, id: &RelationInstanceId, component_ty: &ComponentTypeId, ) -> Result<(), ReactiveRelationComponentRemoveError>
Removes the component with the given name from the relation instance with the given relation instance id.
Source§fn add_property(
&self,
relation_instance_id: &RelationInstanceId,
property_name: &str,
mutability: Mutability,
value: Value,
) -> Result<(), ReactiveRelationPropertyAddError>
fn add_property( &self, relation_instance_id: &RelationInstanceId, property_name: &str, mutability: Mutability, value: Value, ) -> Result<(), ReactiveRelationPropertyAddError>
Adds the property with the given name and initial value to the relation instance with the given id.
Source§fn remove_property(
&self,
relation_instance_id: &RelationInstanceId,
property_name: &str,
) -> Result<(), ReactiveRelationPropertyRemoveError>
fn remove_property( &self, relation_instance_id: &RelationInstanceId, property_name: &str, ) -> Result<(), ReactiveRelationPropertyRemoveError>
Removes the property with the given name from the relation instance with the given id.
Source§fn add_behaviour_to_all_relation_instances(
&self,
relation_behaviour_ty: &RelationBehaviourTypeId,
)
fn add_behaviour_to_all_relation_instances( &self, relation_behaviour_ty: &RelationBehaviourTypeId, )
Adds the given behaviour to all instances of the given relation type.
Source§fn add_behaviour_to_all_relation_components(
&self,
component_behaviour_ty: &ComponentBehaviourTypeId,
)
fn add_behaviour_to_all_relation_components( &self, component_behaviour_ty: &ComponentBehaviourTypeId, )
Adds the given behaviour to all instances of the given relation type.
Source§fn delete(&self, id: &RelationInstanceId) -> bool
fn delete(&self, id: &RelationInstanceId) -> bool
Deletes the reactive relation instance with the given key.
fn unregister_reactive_instance(&self, id: &RelationInstanceId)
fn handle_component_added_events(&self)
fn handle_component_removed_events(&self)
fn handle_property_added_events(&self)
fn handle_property_removed_events(&self)
Source§impl TypeSystemEventSubscriber for ReactiveRelationManagerImpl
impl TypeSystemEventSubscriber for ReactiveRelationManagerImpl
fn subscribe_type_system_event( &self, system_event_type: TypeSystemEventTypes, handle_id: u128, )
fn unsubscribe_type_system_event( &self, system_event_type: TypeSystemEventTypes, handle_id: u128, )
impl Injectable for ReactiveRelationManagerImpl
Auto Trait Implementations§
impl Freeze for ReactiveRelationManagerImpl
impl !RefUnwindSafe for ReactiveRelationManagerImpl
impl Send for ReactiveRelationManagerImpl
impl Sync for ReactiveRelationManagerImpl
impl Unpin for ReactiveRelationManagerImpl
impl !UnwindSafe for ReactiveRelationManagerImpl
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more