com.infobip.kafkistry.sql.SqlDataSource.kt Maven / Gradle / Ivy
package com.infobip.kafkistry.sql
interface SqlDataSource {
/**
* [jakarta.persistence.Entity] annotated class, which instances will be supplied by [supplyEntities]
* It will be used to create table(s) where supplied instances wil be stored into.
*/
fun modelAnnotatedClass(): Class
/**
* Which column names to blacklist from schema helper marking it as join-able
*/
fun nonJoinColumnNames(): Set = emptySet()
/**
* Get ready-to-use query examples to show them in UI
*/
fun queryExamples(): List = emptyList()
/**
* Get the data to be inserted to SQL
*/
fun supplyEntities(): List
}