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§
Sourcefn 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_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
Sourcefn 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 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
Sourcefn supported_types(&self) -> Vec<ModelType>
fn supported_types(&self) -> Vec<ModelType>
Get supported model types
Sourcefn 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,
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