Skip to main content

ModelBuilderFactory

Trait ModelBuilderFactory 

Source
pub trait ModelBuilderFactory: Send + Sync {
    // Required methods
    fn create_builder<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn ModelBuilder>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn create_advanced_builder<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn AdvancedModelBuilder>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn supported_types(&self) -> Vec<ModelType>;
    fn create_builder_for_type<'life0, 'async_trait>(
        &'life0 self,
        model_type: ModelType,
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn ModelBuilder>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Model builder factory

Required Methods§

Source

fn create_builder<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn ModelBuilder>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Create standard model builder

Source

fn create_advanced_builder<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn AdvancedModelBuilder>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Create advanced model builder

Source

fn supported_types(&self) -> Vec<ModelType>

Get supported model types

Source

fn create_builder_for_type<'life0, 'async_trait>( &'life0 self, model_type: ModelType, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn ModelBuilder>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Create builder for specific model type

Implementors§