blob: c46629ef94465eff80aec19efd54f67da0fa3b52 (
plain)
1
2
3
4
5
6
7
8
9
10
|
abstract class Introspector<M : Model>(protected val model: Model) {
protected abstract inner class Retriever(protected val transaction: Any) {
protected var model: Model = this@Introspector.model
}
protected abstract inner class SchemaRetriever(transaction: Any): Retriever(transaction) {
protected inline fun inSchema(crossinline modifier: (Any) -> Unit) =
model.modify { schema -> modifier.invoke(schema) }
}
}
|