pub trait SourceDefProvider:
Send
+ Sync
+ 'static {
// Required method
fn source_def(&self) -> ConnectorDef;
// Provided methods
fn source_defs(&self) -> Vec<ConnectorDef> { ... }
fn validate_source(&self, _def: &ConnectorDef) -> Result<(), String> { ... }
}Expand description
Trait for connectors that can act as a data source.
Implement this trait to provide source connector metadata and validation.
Used by [SourceFactory] to obtain connector definitions.
§Example
ⓘ
impl SourceDefProvider for MyConnector {
fn source_def(&self) -> ConnectorDef {
ConnectorDef {
id: "my-source".into(),
kind: "custom".into(),
scope: ConnectorScope::Source,
allow_override: vec!["batch_size".into()],
default_params: Default::default(),
origin: None,
}
}
}Required Methods§
Sourcefn source_def(&self) -> ConnectorDef
fn source_def(&self) -> ConnectorDef
Returns the connector definition for source mode.
Provided Methods§
fn source_defs(&self) -> Vec<ConnectorDef>
Sourcefn validate_source(&self, _def: &ConnectorDef) -> Result<(), String>
fn validate_source(&self, _def: &ConnectorDef) -> Result<(), String>
Validates a source connector definition.
Override to add custom validation logic. Returns Ok(()) by default.