'RUNTIME_KEY' generic in namespace descriptor
This commit is contained in:
parent
1e8cc55db0
commit
5b5ee0e7b7
@ -13,19 +13,19 @@ import ru.landgrafhomyak.db.sql_skeleton_0.api.table.TableScopedObject
|
|||||||
public interface CreateModuleScope<mUE : Any, RUNTIME_KEY : Any> {
|
public interface CreateModuleScope<mUE : Any, RUNTIME_KEY : Any> {
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("rootNs")
|
@get:JvmName("rootNs")
|
||||||
public val rootNs: Namespace<mUE>
|
public val rootNs: Namespace<mUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun <tUE : Any> createTable(
|
public fun <tUE : Any> createTable(
|
||||||
lifeTime: Table.LifeTime = Table.LifeTime.DATABASE_SCOPE,
|
lifeTime: Table.LifeTime = Table.LifeTime.DATABASE_SCOPE,
|
||||||
namespace: Namespace<mUE> = this.rootNs,
|
namespace: Namespace<mUE, RUNTIME_KEY> = this.rootNs,
|
||||||
name: String, initializer: TableConstructor<tUE, RUNTIME_KEY>
|
name: String, initializer: TableConstructor<tUE, RUNTIME_KEY>
|
||||||
): Table<tUE, mUE, RUNTIME_KEY>
|
): Table<tUE, mUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun moduleScopedObject(namespace: Namespace<mUE> = this.rootNs, name: String): ModuleScopedObject<mUE, RUNTIME_KEY>
|
public fun moduleScopedObject(namespace: Namespace<mUE, RUNTIME_KEY> = this.rootNs, name: String): ModuleScopedObject<mUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun <mUE : Any> substituteModule(rootNs: Namespace<mUE>, template: ModuleTemplate<mUE>): Module<mUE, RUNTIME_KEY>
|
public fun <mUE : Any> substituteModule(rootNs: Namespace<mUE, RUNTIME_KEY>, template: ModuleTemplate<mUE>): Module<mUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun namespace(parent: Namespace<mUE>, name: String): Namespace<mUE>
|
public fun namespace(parent: Namespace<mUE, RUNTIME_KEY>, name: String): Namespace<mUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun addStatement(stmt: DialectResolver.Statement_Void2Void<*>)
|
public fun addStatement(stmt: DialectResolver.Statement_Void2Void<*>)
|
||||||
|
|
||||||
|
@ -21,5 +21,5 @@ public interface Module<mUE : Any, RUNTIME_KEY: Any> {
|
|||||||
@DebugApi
|
@DebugApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getParent")
|
@get:JvmName("getParent")
|
||||||
public val parent: Module<*, RUNTIME_KEY>
|
public val parent: Module<*, RUNTIME_KEY>?
|
||||||
}
|
}
|
@ -12,5 +12,5 @@ public interface ModuleScopedObject<mUE : Any, RUNTIME_KEY : Any> {
|
|||||||
public val module: Module<mUE, RUNTIME_KEY>
|
public val module: Module<mUE, RUNTIME_KEY>
|
||||||
|
|
||||||
@DebugApi
|
@DebugApi
|
||||||
public val namespace: Namespace<mUE>
|
public val namespace: Namespace<mUE, RUNTIME_KEY>
|
||||||
}
|
}
|
@ -3,17 +3,17 @@ package ru.landgrafhomyak.db.sql_skeleton_0.api.module
|
|||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.DebugApi
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.DebugApi
|
||||||
|
|
||||||
public interface Namespace<mUE : Any> {
|
public interface Namespace<mUE : Any, RUNTIME_KEY : Any> {
|
||||||
@DebugApi
|
@DebugApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getName")
|
@get:JvmName("getName")
|
||||||
public val name: String
|
public val name: String
|
||||||
|
|
||||||
@DebugApi
|
@DebugApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME", "PropertyName")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getPath")
|
@get:JvmName("getPath")
|
||||||
public val path: List<String>
|
public val path: List<String>
|
||||||
|
|
||||||
@DebugApi
|
@DebugApi
|
||||||
public val module: Module
|
public val module: Module<mUE, RUNTIME_KEY>
|
||||||
}
|
}
|
@ -9,8 +9,8 @@ public interface UpgradeModuleScope<nmUE : Any, omUE : Any, RUNTIME_KEY : Any> :
|
|||||||
public fun <tUE : Any> keepTable(table: Table<tUE, omUE, RUNTIME_KEY>): Table<tUE, nmUE, RUNTIME_KEY>
|
public fun <tUE : Any> keepTable(table: Table<tUE, omUE, RUNTIME_KEY>): Table<tUE, nmUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun <tUE : Any> keepAndRenameTable(table: Table<tUE, omUE, RUNTIME_KEY>, newName: String): Table<tUE, nmUE, RUNTIME_KEY>
|
public fun <tUE : Any> keepAndRenameTable(table: Table<tUE, omUE, RUNTIME_KEY>, newName: String): Table<tUE, nmUE, RUNTIME_KEY>
|
||||||
public fun <tUE : Any> keepAndRenameTable(table: Table<tUE, omUE, RUNTIME_KEY>, newNamespace: Namespace<nmUE>): Table<tUE, nmUE, RUNTIME_KEY>
|
public fun <tUE : Any> keepAndRenameTable(table: Table<tUE, omUE, RUNTIME_KEY>, newNamespace: Namespace<nmUE, RUNTIME_KEY>): Table<tUE, nmUE, RUNTIME_KEY>
|
||||||
public fun <tUE : Any> keepAndRenameTable(table: Table<tUE, omUE, RUNTIME_KEY>, newNamespace: Namespace<nmUE>, newName: String): Table<tUE, nmUE, RUNTIME_KEY>
|
public fun <tUE : Any> keepAndRenameTable(table: Table<tUE, omUE, RUNTIME_KEY>, newNamespace: Namespace<nmUE, RUNTIME_KEY>, newName: String): Table<tUE, nmUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun <ntUE : Any, otUE : Any> upgradeTable(oldTable: Table<otUE, omUE, RUNTIME_KEY>, upgrade: TableUpgrade<ntUE, otUE, RUNTIME_KEY>): Table<ntUE, nmUE, RUNTIME_KEY>
|
public fun <ntUE : Any, otUE : Any> upgradeTable(oldTable: Table<otUE, omUE, RUNTIME_KEY>, upgrade: TableUpgrade<ntUE, otUE, RUNTIME_KEY>): Table<ntUE, nmUE, RUNTIME_KEY>
|
||||||
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
|
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
|
||||||
@ -21,13 +21,13 @@ public interface UpgradeModuleScope<nmUE : Any, omUE : Any, RUNTIME_KEY : Any> :
|
|||||||
|
|
||||||
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
|
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
|
||||||
table: Table<otUE, omUE, RUNTIME_KEY>,
|
table: Table<otUE, omUE, RUNTIME_KEY>,
|
||||||
newNamespace: Namespace<nmUE>,
|
newNamespace: Namespace<nmUE, RUNTIME_KEY>,
|
||||||
upgrade: TableUpgrade<ntUE, otUE, RUNTIME_KEY>
|
upgrade: TableUpgrade<ntUE, otUE, RUNTIME_KEY>
|
||||||
): Table<ntUE, nmUE, RUNTIME_KEY>
|
): Table<ntUE, nmUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
|
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
|
||||||
table: Table<otUE, omUE, RUNTIME_KEY>,
|
table: Table<otUE, omUE, RUNTIME_KEY>,
|
||||||
newNamespace: Namespace<nmUE>,
|
newNamespace: Namespace<nmUE, RUNTIME_KEY>,
|
||||||
upgrade: TableUpgrade<ntUE, otUE, RUNTIME_KEY>,
|
upgrade: TableUpgrade<ntUE, otUE, RUNTIME_KEY>,
|
||||||
newName: String
|
newName: String
|
||||||
): Table<ntUE, nmUE, RUNTIME_KEY>
|
): Table<ntUE, nmUE, RUNTIME_KEY>
|
||||||
@ -39,21 +39,21 @@ public interface UpgradeModuleScope<nmUE : Any, omUE : Any, RUNTIME_KEY : Any> :
|
|||||||
public fun exportTable(table: Table<*, omUE, RUNTIME_KEY>)
|
public fun exportTable(table: Table<*, omUE, RUNTIME_KEY>)
|
||||||
|
|
||||||
public fun <tUE : Any> importTable(
|
public fun <tUE : Any> importTable(
|
||||||
namespace: Namespace<nmUE> = this.rootNs, name: String,
|
namespace: Namespace<nmUE, RUNTIME_KEY> = this.rootNs, name: String,
|
||||||
table: Table<tUE, *, RUNTIME_KEY>
|
table: Table<tUE, *, RUNTIME_KEY>
|
||||||
): Table<tUE, nmUE, RUNTIME_KEY>
|
): Table<tUE, nmUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun <ntUE : Any, otUE : Any> importAndUpgradeTable(
|
public fun <ntUE : Any, otUE : Any> importAndUpgradeTable(
|
||||||
namespace: Namespace<nmUE> = this.rootNs, name: String,
|
namespace: Namespace<nmUE, RUNTIME_KEY> = this.rootNs, name: String,
|
||||||
table: Table<otUE, *, RUNTIME_KEY>,
|
table: Table<otUE, *, RUNTIME_KEY>,
|
||||||
upgrade: TableUpgrade<ntUE, otUE, RUNTIME_KEY>
|
upgrade: TableUpgrade<ntUE, otUE, RUNTIME_KEY>
|
||||||
): Table<ntUE, nmUE, RUNTIME_KEY>
|
): Table<ntUE, nmUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun <smUE : Any> keepModule(module: Module<smUE, RUNTIME_KEY>): Module<smUE, RUNTIME_KEY>
|
public fun <smUE : Any> keepModule(module: Module<smUE, RUNTIME_KEY>): Module<smUE, RUNTIME_KEY>
|
||||||
public fun <smUE : Any> keepAndMoveModule(oldModule: Module<smUE, RUNTIME_KEY>, newNs: Namespace<nmUE>): Module<smUE, RUNTIME_KEY>
|
public fun <smUE : Any> keepAndMoveModule(oldModule: Module<smUE, RUNTIME_KEY>, newNs: Namespace<nmUE, RUNTIME_KEY>): Module<smUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun <smUE : Any> upgradeModule(oldModule: Module<*, RUNTIME_KEY>, template: ModuleTemplate<smUE>): Module<smUE, RUNTIME_KEY>
|
public fun <smUE : Any> upgradeModule(oldModule: Module<*, RUNTIME_KEY>, template: ModuleTemplate<smUE>): Module<smUE, RUNTIME_KEY>
|
||||||
public fun <smUE : Any> upgradeAndMoveModule(oldModule: Module<*, RUNTIME_KEY>, newNs: Namespace<nmUE>, template: ModuleTemplate<smUE>): Module<smUE, RUNTIME_KEY>
|
public fun <smUE : Any> upgradeAndMoveModule(oldModule: Module<*, RUNTIME_KEY>, newNs: Namespace<nmUE, RUNTIME_KEY>, template: ModuleTemplate<smUE>): Module<smUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public fun removeModule(oldModule: Module<*, RUNTIME_KEY>)
|
public fun removeModule(oldModule: Module<*, RUNTIME_KEY>)
|
||||||
public fun <smUE : Any> removeModuleAfterUpgrade(oldModule: Module<smUE, RUNTIME_KEY>): Module<smUE, RUNTIME_KEY>
|
public fun <smUE : Any> removeModuleAfterUpgrade(oldModule: Module<smUE, RUNTIME_KEY>): Module<smUE, RUNTIME_KEY>
|
||||||
|
@ -3,6 +3,7 @@ package ru.landgrafhomyak.db.sql_skeleton_0.api.table
|
|||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.DebugApi
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.DebugApi
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.module.Module
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.module.Module
|
||||||
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.module.Namespace
|
||||||
|
|
||||||
public interface Table<UE : Any, mUE : Any, RUNTIME_KEY : Any> {
|
public interface Table<UE : Any, mUE : Any, RUNTIME_KEY : Any> {
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@ -14,10 +15,15 @@ public interface Table<UE : Any, mUE : Any, RUNTIME_KEY : Any> {
|
|||||||
@get:JvmName("getName")
|
@get:JvmName("getName")
|
||||||
public val name: String
|
public val name: String
|
||||||
|
|
||||||
|
@DebugApi
|
||||||
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
|
@get:JvmName("getNamespace")
|
||||||
|
public val namespace: Namespace<mUE, RUNTIME_KEY>
|
||||||
|
|
||||||
@DebugApi
|
@DebugApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getModule")
|
@get:JvmName("getModule")
|
||||||
public val module: Module<*>
|
public val module: Module<mUE, RUNTIME_KEY>
|
||||||
|
|
||||||
public enum class LifeTime {
|
public enum class LifeTime {
|
||||||
DATABASE_SCOPE,
|
DATABASE_SCOPE,
|
||||||
|
Loading…
Reference in New Issue
Block a user