pub trait SourceDefProvider:
Send
+ Sync
+ 'static {
// Required method
fn source_def(&self) -> ConnectorDef;
// Provided method
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§
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.