Namespace replaced by NameNode to make it more clear and simplify implementation
This commit is contained in:
parent
12c5e30b6f
commit
0c9501cbe4
@ -12,22 +12,22 @@ import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow
|
|||||||
public interface ModuleConstructorScope<mUE : Any> {
|
public interface ModuleConstructorScope<mUE : Any> {
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("rootNs")
|
@get:JvmName("rootNs")
|
||||||
public val rootNs: Namespace<mUE>
|
public val rootNameNode: NameNode<mUE>
|
||||||
|
|
||||||
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,
|
location: NameNode<mUE>,
|
||||||
name: String, initializer: Table.Constructor<tUE>
|
initializer: Table.Constructor<tUE>
|
||||||
): Table<tUE, mUE>
|
): Table<tUE, mUE>
|
||||||
|
|
||||||
public fun moduleScopedObject(
|
public fun moduleScopedObject(
|
||||||
namespace: Namespace<mUE> = this.rootNs,
|
location: NameNode<mUE>,
|
||||||
name: String, metadata: ObjectClass.ImplementationsProvider
|
metadata: ObjectClass.ImplementationsProvider
|
||||||
): ModuleScopedObject<mUE>
|
): ModuleScopedObject<mUE>
|
||||||
|
|
||||||
public fun <smUE : Any> substituteModule(rootNs: Namespace<mUE>, template: Module.Template<smUE>): Module<smUE>
|
public fun <smUE : Any> substituteModule(rootNode: NameNode<mUE>, template: Module.Template<smUE>): Module<smUE>
|
||||||
|
|
||||||
public fun namespace(parent: Namespace<mUE>, name: String): Namespace<mUE>
|
public fun nameNode(parent: NameNode<mUE>, name: String): NameNode<mUE>
|
||||||
|
|
||||||
public fun addStatement(stmt: _Statement.Void2Void<*>)
|
public fun addStatement(stmt: _Statement.Void2Void<*>)
|
||||||
public fun addStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
|
public fun addStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
|
||||||
|
@ -5,16 +5,13 @@ import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
|||||||
import ru.landgrafhomyak.db.skeleton1.api.ObjectClass
|
import ru.landgrafhomyak.db.skeleton1.api.ObjectClass
|
||||||
|
|
||||||
public interface ModuleScopedObject<mUE : Any> {
|
public interface ModuleScopedObject<mUE : Any> {
|
||||||
@ReflectionApi
|
|
||||||
public val name: String
|
|
||||||
|
|
||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
public val module: Module<mUE>
|
public val module: Module<mUE>
|
||||||
|
|
||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getPathFromModuleRoot")
|
@get:JvmName("getPathFromParentModuleRoot")
|
||||||
public val pathFromModuleRoot: List<String>
|
public val pathFromParentModuleRoot: List<String>?
|
||||||
|
|
||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
public val objectClassProvider: ObjectClass.ImplementationsProvider
|
public val objectClassProvider: ObjectClass.ImplementationsProvider
|
||||||
|
@ -10,9 +10,9 @@ import ru.landgrafhomyak.db.skeleton1.api.table.Table
|
|||||||
public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorScope<nmUE> {
|
public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorScope<nmUE> {
|
||||||
// Table -------------------------------------------------------------------
|
// Table -------------------------------------------------------------------
|
||||||
public fun <tUE : Any> keepTable(table: Table<tUE, omUE>): Table<tUE, nmUE>
|
public fun <tUE : Any> keepTable(table: Table<tUE, omUE>): Table<tUE, nmUE>
|
||||||
public fun <tUE : Any> keepAndRenameTable(
|
public fun <tUE : Any> keepAndMoveTable(
|
||||||
table: Table<tUE, omUE>,
|
table: Table<tUE, omUE>,
|
||||||
newNamespace: Namespace<nmUE>? = null, newName: String
|
newLocation: NameNode<nmUE>
|
||||||
): Table<tUE, nmUE>
|
): Table<tUE, nmUE>
|
||||||
|
|
||||||
public fun <ntUE : Any, otUE : Any> upgradeTable(
|
public fun <ntUE : Any, otUE : Any> upgradeTable(
|
||||||
@ -20,9 +20,9 @@ public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorS
|
|||||||
upgrade: Table.Upgrade<ntUE, otUE>
|
upgrade: Table.Upgrade<ntUE, otUE>
|
||||||
): Table<ntUE, nmUE>
|
): Table<ntUE, nmUE>
|
||||||
|
|
||||||
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
|
public fun <ntUE : Any, otUE : Any> upgradeAndMoveTable(
|
||||||
table: Table<otUE, omUE>,
|
table: Table<otUE, omUE>,
|
||||||
newNamespace: Namespace<nmUE>? = null, newName: String,
|
newLocation: NameNode<nmUE>,
|
||||||
upgrade: Table.Upgrade<ntUE, otUE>
|
upgrade: Table.Upgrade<ntUE, otUE>
|
||||||
): Table<ntUE, nmUE>
|
): Table<ntUE, nmUE>
|
||||||
|
|
||||||
@ -32,21 +32,21 @@ public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorS
|
|||||||
public fun exportTable(table: Table<*, omUE>)
|
public fun exportTable(table: Table<*, omUE>)
|
||||||
public fun <tUE : Any> importTable(
|
public fun <tUE : Any> importTable(
|
||||||
table: Table<tUE, *>,
|
table: Table<tUE, *>,
|
||||||
namespace: Namespace<nmUE> = this.rootNs, name: String
|
location: NameNode<nmUE>
|
||||||
): Table<tUE, nmUE>
|
): Table<tUE, nmUE>
|
||||||
|
|
||||||
public fun <ntUE : Any, otUE : Any> importAndUpgradeTable(
|
public fun <ntUE : Any, otUE : Any> importAndUpgradeTable(
|
||||||
table: Table<otUE, *>,
|
table: Table<otUE, *>,
|
||||||
namespace: Namespace<nmUE> = this.rootNs, name: String,
|
location: NameNode<nmUE>,
|
||||||
upgrade: Table.Upgrade<ntUE, otUE>
|
upgrade: Table.Upgrade<ntUE, otUE>
|
||||||
): Table<ntUE, nmUE>
|
): Table<ntUE, nmUE>
|
||||||
|
|
||||||
// Object ------------------------------------------------------------------
|
// Object ------------------------------------------------------------------
|
||||||
|
|
||||||
public fun keepModuleScopedObject(obj: ModuleScopedObject< omUE>): ModuleScopedObject<nmUE>
|
public fun keepModuleScopedObject(obj: ModuleScopedObject<omUE>): ModuleScopedObject<nmUE>
|
||||||
public fun renameModuleScopedObject(
|
public fun keepAndMoveModuleScopedObject(
|
||||||
obj: ModuleScopedObject<omUE>,
|
obj: ModuleScopedObject<omUE>,
|
||||||
newNamespace: Namespace<nmUE>? = null, newName: String
|
newLocation: NameNode<nmUE>,
|
||||||
): ModuleScopedObject<nmUE>
|
): ModuleScopedObject<nmUE>
|
||||||
|
|
||||||
public fun deleteModuleScopedObject(obj: ModuleScopedObject<omUE>)
|
public fun deleteModuleScopedObject(obj: ModuleScopedObject<omUE>)
|
||||||
@ -55,19 +55,19 @@ public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorS
|
|||||||
public fun exportModuleScopedObject(obj: ModuleScopedObject<omUE>)
|
public fun exportModuleScopedObject(obj: ModuleScopedObject<omUE>)
|
||||||
public fun importModuleScopedObject(
|
public fun importModuleScopedObject(
|
||||||
obj: ModuleScopedObject<*>,
|
obj: ModuleScopedObject<*>,
|
||||||
namespace: Namespace<nmUE> = this.rootNs, name: String
|
location: NameNode<nmUE>
|
||||||
): ModuleScopedObject<nmUE>
|
): ModuleScopedObject<nmUE>
|
||||||
|
|
||||||
|
|
||||||
// Module ------------------------------------------------------------------
|
// Module ------------------------------------------------------------------
|
||||||
|
|
||||||
public fun <smUE : Any> keepModule(module: Module<smUE>): Module<smUE>
|
public fun <smUE : Any> keepModule(module: Module<smUE>): Module<smUE>
|
||||||
public fun <smUE : Any> keepAndMoveModule(oldModule: Module<smUE>, newNs: Namespace<nmUE>): Module<smUE>
|
public fun <smUE : Any> keepAndMoveModule(oldModule: Module<smUE>, newNs: NameNode<nmUE>): Module<smUE>
|
||||||
|
|
||||||
public fun <smUE : Any> upgradeModule(oldModule: Module<*>, template: Module.Template<smUE>): Module<smUE>
|
public fun <smUE : Any> upgradeModule(oldModule: Module<*>, template: Module.Template<smUE>): Module<smUE>
|
||||||
public fun <smUE : Any> upgradeAndMoveModule(
|
public fun <smUE : Any> upgradeAndMoveModule(
|
||||||
oldModule: Module<*>,
|
oldModule: Module<*>,
|
||||||
newNamespace: Namespace<nmUE>,
|
newNamespace: NameNode<nmUE>,
|
||||||
template: Module.Template<smUE>
|
template: Module.Template<smUE>
|
||||||
): Module<smUE>
|
): Module<smUE>
|
||||||
|
|
||||||
@ -78,12 +78,12 @@ public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorS
|
|||||||
|
|
||||||
public fun <smUE : Any> importModule(
|
public fun <smUE : Any> importModule(
|
||||||
module: Module<smUE>,
|
module: Module<smUE>,
|
||||||
namespace: Namespace<nmUE>,
|
location: NameNode<nmUE>,
|
||||||
): Module<smUE>
|
): Module<smUE>
|
||||||
|
|
||||||
public fun <nsmUE : Any, osmUE : Any> importAndUpgradeModule(
|
public fun <nsmUE : Any, osmUE : Any> importAndUpgradeModule(
|
||||||
module: Module<osmUE>,
|
module: Module<osmUE>,
|
||||||
namespace: Namespace<nmUE>,
|
location: NameNode<nmUE>,
|
||||||
upgrade: Module.Upgrade<nsmUE, osmUE>
|
upgrade: Module.Upgrade<nsmUE, osmUE>
|
||||||
): Module<nsmUE>
|
): Module<nsmUE>
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package ru.landgrafhomyak.db.skeleton1.api.module
|
|||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||||
|
|
||||||
public interface Namespace<mUE : Any> {
|
public interface NameNode<mUE : Any> {
|
||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getName")
|
@get:JvmName("getName")
|
||||||
@ -12,5 +12,5 @@ public interface Namespace<mUE : Any> {
|
|||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getPath")
|
@get:JvmName("getPath")
|
||||||
public val parent: Namespace<mUE>?
|
public val parent: NameNode<mUE>?
|
||||||
}
|
}
|
@ -11,13 +11,8 @@ public interface Table<UE : Any, mUE : Any> {
|
|||||||
|
|
||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getName")
|
@get:JvmName("getPathFromParentModuleRoot")
|
||||||
public val name: String
|
public val pathFromParentModuleRoot: List<String>?
|
||||||
|
|
||||||
@ReflectionApi
|
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
|
||||||
@get:JvmName("getPathFromModuleRoot")
|
|
||||||
public val pathFromModuleRoot: List<String>
|
|
||||||
|
|
||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@ -44,7 +39,7 @@ public interface Table<UE : Any, mUE : Any> {
|
|||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getMemberObjects")
|
@get:JvmName("getMemberObjects")
|
||||||
public val memberObjects: Collection<TableScopedObject<*, UE>>
|
public val memberObjects: Collection<TableScopedObject<UE>>
|
||||||
|
|
||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@ -54,7 +49,7 @@ public interface Table<UE : Any, mUE : Any> {
|
|||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getMemberObjectsWhileUpgrade")
|
@get:JvmName("getMemberObjectsWhileUpgrade")
|
||||||
public val memberObjectsWhileUpgrade: Collection<TableScopedObject<*, UE>>
|
public val memberObjectsWhileUpgrade: Collection<TableScopedObject<UE>>
|
||||||
|
|
||||||
public interface Constructor<tUE : Any> {
|
public interface Constructor<tUE : Any> {
|
||||||
public fun createTable(context: TableConstructorScope<tUE>): tUE
|
public fun createTable(context: TableConstructorScope<tUE>): tUE
|
||||||
|
Loading…
Reference in New Issue
Block a user