Trait typedb_driver::transaction::concept::api::RoleTypeAPI
source · pub trait RoleTypeAPI: Clone + Into<RoleType> + Sync + Send {
// Required methods
fn is_abstract(&self) -> bool;
fn is_deleted<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> BoxPromise<'tx, Result<bool>>;
fn get_relation_type<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> BoxPromise<'tx, Result<Option<RelationType>>>;
// Provided methods
fn delete<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> BoxPromise<'tx, Result> { ... }
fn set_label<'tx>(
&self,
transaction: &'tx Transaction<'_>,
new_label: String
) -> BoxPromise<'tx, Result> { ... }
fn get_supertype<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> BoxPromise<'tx, Result<Option<RoleType>>> { ... }
fn get_supertypes<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> Result<BoxStream<'tx, Result<RoleType>>> { ... }
fn get_subtypes<'tx>(
&self,
transaction: &'tx Transaction<'_>,
transitivity: Transitivity
) -> Result<BoxStream<'tx, Result<RoleType>>> { ... }
fn get_relation_types<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> Result<BoxStream<'tx, Result<RelationType>>> { ... }
fn get_player_types<'tx>(
&self,
transaction: &'tx Transaction<'_>,
transitivity: Transitivity
) -> Result<BoxStream<'tx, Result<ThingType>>> { ... }
fn get_relation_instances<'tx>(
&self,
transaction: &'tx Transaction<'_>,
transitivity: Transitivity
) -> Result<BoxStream<'tx, Result<Relation>>> { ... }
fn get_player_instances<'tx>(
&self,
transaction: &'tx Transaction<'_>,
transitivity: Transitivity
) -> Result<BoxStream<'tx, Result<Thing>>> { ... }
}
Required Methods§
sourcefn is_abstract(&self) -> bool
fn is_abstract(&self) -> bool
Checks if the type is prevented from having data instances (i.e., abstract
).
§Examples
role_type.is_abstract()
sourcefn is_deleted<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> BoxPromise<'tx, Result<bool>>
fn is_deleted<'tx>( &self, transaction: &'tx Transaction<'_> ) -> BoxPromise<'tx, Result<bool>>
sourcefn get_relation_type<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> BoxPromise<'tx, Result<Option<RelationType>>>
fn get_relation_type<'tx>( &self, transaction: &'tx Transaction<'_> ) -> BoxPromise<'tx, Result<Option<RelationType>>>
Provided Methods§
sourcefn delete<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> BoxPromise<'tx, Result>
fn delete<'tx>( &self, transaction: &'tx Transaction<'_> ) -> BoxPromise<'tx, Result>
sourcefn set_label<'tx>(
&self,
transaction: &'tx Transaction<'_>,
new_label: String
) -> BoxPromise<'tx, Result>
fn set_label<'tx>( &self, transaction: &'tx Transaction<'_>, new_label: String ) -> BoxPromise<'tx, Result>
sourcefn get_supertype<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> BoxPromise<'tx, Result<Option<RoleType>>>
fn get_supertype<'tx>( &self, transaction: &'tx Transaction<'_> ) -> BoxPromise<'tx, Result<Option<RoleType>>>
sourcefn get_supertypes<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> Result<BoxStream<'tx, Result<RoleType>>>
fn get_supertypes<'tx>( &self, transaction: &'tx Transaction<'_> ) -> Result<BoxStream<'tx, Result<RoleType>>>
sourcefn get_subtypes<'tx>(
&self,
transaction: &'tx Transaction<'_>,
transitivity: Transitivity
) -> Result<BoxStream<'tx, Result<RoleType>>>
fn get_subtypes<'tx>( &self, transaction: &'tx Transaction<'_>, transitivity: Transitivity ) -> Result<BoxStream<'tx, Result<RoleType>>>
Retrieves all direct and indirect (or direct only) subtypes of the RoleType
.
§Arguments
transaction
– The current transactiontransitivity
–Transitivity::Transitive
for direct and indirect subtypes,Transitivity::Explicit
for direct subtypes only
§Examples
role_type.get_subtypes(transaction, transitivity)
sourcefn get_relation_types<'tx>(
&self,
transaction: &'tx Transaction<'_>
) -> Result<BoxStream<'tx, Result<RelationType>>>
fn get_relation_types<'tx>( &self, transaction: &'tx Transaction<'_> ) -> Result<BoxStream<'tx, Result<RelationType>>>
sourcefn get_player_types<'tx>(
&self,
transaction: &'tx Transaction<'_>,
transitivity: Transitivity
) -> Result<BoxStream<'tx, Result<ThingType>>>
fn get_player_types<'tx>( &self, transaction: &'tx Transaction<'_>, transitivity: Transitivity ) -> Result<BoxStream<'tx, Result<ThingType>>>
sourcefn get_relation_instances<'tx>(
&self,
transaction: &'tx Transaction<'_>,
transitivity: Transitivity
) -> Result<BoxStream<'tx, Result<Relation>>>
fn get_relation_instances<'tx>( &self, transaction: &'tx Transaction<'_>, transitivity: Transitivity ) -> Result<BoxStream<'tx, Result<Relation>>>
Retrieves the Relation
instances that this role is related to.
§Arguments
transaction
– The current transactiontransitivity
–Transitivity::Transitive
for direct and indirect relation,Transitivity::Explicit
for direct relation only
§Examples
role_type.get_relation_instances(transaction, transitivity)
sourcefn get_player_instances<'tx>(
&self,
transaction: &'tx Transaction<'_>,
transitivity: Transitivity
) -> Result<BoxStream<'tx, Result<Thing>>>
fn get_player_instances<'tx>( &self, transaction: &'tx Transaction<'_>, transitivity: Transitivity ) -> Result<BoxStream<'tx, Result<Thing>>>
Object Safety§
This trait is not object safe.