SourceDefProvider

Trait SourceDefProvider 

Source
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§

Source

fn source_def(&self) -> ConnectorDef

Returns the connector definition for source mode.

Provided Methods§

Source

fn source_defs(&self) -> Vec<ConnectorDef>

Source

fn validate_source(&self, _def: &ConnectorDef) -> Result<(), String>

Validates a source connector definition.

Override to add custom validation logic. Returns Ok(()) by default.

Implementors§