pub trait ComponentFactory:
Send
+ Sync
+ Debug {
// Required methods
fn create(
&self,
component_type: &str,
config: &ComponentConfig,
) -> SklResult<Box<dyn PluginComponent>>;
fn available_types(&self) -> Vec<String>;
fn get_schema(&self, component_type: &str) -> Option<ComponentSchema>;
}Expand description
Component factory for creating plugin instances
Required Methods§
Sourcefn create(
&self,
component_type: &str,
config: &ComponentConfig,
) -> SklResult<Box<dyn PluginComponent>>
fn create( &self, component_type: &str, config: &ComponentConfig, ) -> SklResult<Box<dyn PluginComponent>>
Create a component
Sourcefn available_types(&self) -> Vec<String>
fn available_types(&self) -> Vec<String>
List available component types
Sourcefn get_schema(&self, component_type: &str) -> Option<ComponentSchema>
fn get_schema(&self, component_type: &str) -> Option<ComponentSchema>
Get component schema