s2.spring.automate.data.S2SpringDataReactiveConfigurerAdapter.kt Maven / Gradle / Ivy
package s2.spring.automate.data
import org.springframework.data.repository.reactive.ReactiveCrudRepository
import s2.automate.core.persist.AutomatePersister
import s2.dsl.automate.Evt
import s2.dsl.automate.S2Automate
import s2.dsl.automate.S2State
import s2.dsl.automate.model.WithS2Id
import s2.dsl.automate.model.WithS2State
import s2.spring.automate.S2ConfigurerAdapter
import s2.spring.automate.data.persister.SpringDataAutomateReactivePersister
import s2.spring.automate.executor.S2AutomateExecutorSpring
abstract class S2SpringDataReactiveConfigurerAdapter(
private val aggregateRepository: ReactiveCrudRepository,
) : S2ConfigurerAdapter() where
STATE : S2State,
ENTITY : WithS2State,
ENTITY : WithS2Id,
AGGREGATE : S2AutomateExecutorSpring {
override fun aggregateRepository(): AutomatePersister {
return SpringDataAutomateReactivePersister(
aggregateRepository
)
}
}