Naming of handles' properties and scopes' functions

This commit is contained in:
Andrew Golovashevich 2025-06-04 00:25:00 +03:00
parent 0c9501cbe4
commit fbff39a0b4
7 changed files with 46 additions and 54 deletions

View File

@ -14,18 +14,18 @@ public interface ModuleConstructorScope<mUE : Any> {
@get:JvmName("rootNs")
public val rootNameNode: NameNode<mUE>
public fun <tUE : Any> createTable(
public fun <tUE : Any> table_create(
lifeTime: Table.LifeTime = Table.LifeTime.DATABASE_SCOPE,
location: NameNode<mUE>,
initializer: Table.Constructor<tUE>
): Table<tUE, mUE>
public fun moduleScopedObject(
public fun object_create(
location: NameNode<mUE>,
metadata: ObjectClass.ImplementationsProvider
): ModuleScopedObject<mUE>
public fun <smUE : Any> substituteModule(rootNode: NameNode<mUE>, template: Module.Template<smUE>): Module<smUE>
public fun <smUE : Any> submodule_substitute(rootNode: NameNode<mUE>, template: Module.Template<smUE>): Module<smUE>
public fun nameNode(parent: NameNode<mUE>, name: String): NameNode<mUE>

View File

@ -6,12 +6,10 @@ import ru.landgrafhomyak.db.skeleton1.api.ObjectClass
public interface ModuleScopedObject<mUE : Any> {
@ReflectionApi
public val module: Module<mUE>
public val parentModule: Module<mUE>
@ReflectionApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getPathFromParentModuleRoot")
public val pathFromParentModuleRoot: List<String>?
public val pathFromParentModuleRoot: List<String>
@ReflectionApi
public val objectClassProvider: ObjectClass.ImplementationsProvider

View File

@ -9,33 +9,30 @@ import ru.landgrafhomyak.db.skeleton1.api.table.Table
public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorScope<nmUE> {
// Table -------------------------------------------------------------------
public fun <tUE : Any> keepTable(table: Table<tUE, omUE>): Table<tUE, nmUE>
public fun <tUE : Any> keepAndMoveTable(
public fun <tUE : Any> table_keep(table: Table<tUE, omUE>): Table<tUE, nmUE>
public fun <tUE : Any> table_keepAndMove(
table: Table<tUE, omUE>,
newLocation: NameNode<nmUE>
): Table<tUE, nmUE>
public fun <ntUE : Any, otUE : Any> upgradeTable(
public fun <ntUE : Any, otUE : Any> table_upgrade(
oldTable: Table<otUE, omUE>,
upgrade: Table.Upgrade<ntUE, otUE>
): Table<ntUE, nmUE>
public fun <ntUE : Any, otUE : Any> upgradeAndMoveTable(
public fun <ntUE : Any, otUE : Any> table_upgradeAndMove(
table: Table<otUE, omUE>,
newLocation: NameNode<nmUE>,
upgrade: Table.Upgrade<ntUE, otUE>
): Table<ntUE, nmUE>
public fun deleteTable(table: Table<*, omUE>)
public fun <tUE : Any> deleteTableAfterModuleUpgrade(table: Table<tUE, omUE>): Table<tUE, nmUE>
public fun table_delete(table: Table<*, omUE>)
public fun <tUE : Any> table_deleteAfterModuleUpgrade(table: Table<tUE, omUE>): Table<tUE, nmUE>
public fun exportTable(table: Table<*, omUE>)
public fun <tUE : Any> importTable(
table: Table<tUE, *>,
location: NameNode<nmUE>
): Table<tUE, nmUE>
public fun table_export(table: Table<*, omUE>)
public fun <tUE : Any> table_import(table: Table<tUE, *>, location: NameNode<nmUE>): Table<tUE, nmUE>
public fun <ntUE : Any, otUE : Any> importAndUpgradeTable(
public fun <ntUE : Any, otUE : Any> table_importAndUpgrade(
table: Table<otUE, *>,
location: NameNode<nmUE>,
upgrade: Table.Upgrade<ntUE, otUE>
@ -43,17 +40,17 @@ public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorS
// Object ------------------------------------------------------------------
public fun keepModuleScopedObject(obj: ModuleScopedObject<omUE>): ModuleScopedObject<nmUE>
public fun keepAndMoveModuleScopedObject(
public fun object_keep(obj: ModuleScopedObject<omUE>): ModuleScopedObject<nmUE>
public fun object_keepAndMove(
obj: ModuleScopedObject<omUE>,
newLocation: NameNode<nmUE>,
): ModuleScopedObject<nmUE>
public fun deleteModuleScopedObject(obj: ModuleScopedObject<omUE>)
public fun deleteModuleScopedObjectAfterModuleUpgrade(obj: ModuleScopedObject<omUE>): ModuleScopedObject<nmUE>
public fun object_delete(obj: ModuleScopedObject<omUE>)
public fun object_deleteAfterModuleUpgrade(obj: ModuleScopedObject<omUE>): ModuleScopedObject<nmUE>
public fun exportModuleScopedObject(obj: ModuleScopedObject<omUE>)
public fun importModuleScopedObject(
public fun object_export(obj: ModuleScopedObject<omUE>)
public fun object_import(
obj: ModuleScopedObject<*>,
location: NameNode<nmUE>
): ModuleScopedObject<nmUE>
@ -61,27 +58,27 @@ public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorS
// Module ------------------------------------------------------------------
public fun <smUE : Any> keepModule(module: Module<smUE>): Module<smUE>
public fun <smUE : Any> keepAndMoveModule(oldModule: Module<smUE>, newNs: NameNode<nmUE>): Module<smUE>
public fun <smUE : Any> submodule_keep(module: Module<smUE>): Module<smUE>
public fun <smUE : Any> submodule_keepAndMove(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> upgradeAndMoveModule(
public fun <smUE : Any> submodule_upgrade(oldModule: Module<*>, template: Module.Template<smUE>): Module<smUE>
public fun <smUE : Any> submodule_upgradeAndMove(
oldModule: Module<*>,
newNamespace: NameNode<nmUE>,
template: Module.Template<smUE>
): Module<smUE>
public fun deleteModule(oldModule: Module<*>)
public fun <smUE : Any> deleteModuleAfterUpgrade(oldModule: Module<smUE>): Module<smUE>
public fun submodule_delete(oldModule: Module<*>)
public fun <smUE : Any> submodule_deleteAfterModuleUpgrade(oldModule: Module<smUE>): Module<smUE>
public fun exportModule(table: Module<*>)
public fun submodule_export(table: Module<*>)
public fun <smUE : Any> importModule(
public fun <smUE : Any> submodule_import(
module: Module<smUE>,
location: NameNode<nmUE>,
): Module<smUE>
public fun <nsmUE : Any, osmUE : Any> importAndUpgradeModule(
public fun <nsmUE : Any, osmUE : Any> submodule_importAndUpgrade(
module: Module<osmUE>,
location: NameNode<nmUE>,
upgrade: Module.Upgrade<nsmUE, osmUE>

View File

@ -10,14 +10,10 @@ public interface Table<UE : Any, mUE : Any> {
public val uExt: UE
@ReflectionApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getPathFromParentModuleRoot")
public val pathFromParentModuleRoot: List<String>?
@ReflectionApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getModule")
public val module: Module<mUE>
public val parentModule: Module<mUE>
public enum class LifeTime {
DATABASE_SCOPE,

View File

@ -9,30 +9,31 @@ import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow
public interface TableConstructorScope<tUE : Any> {
public fun <RT> column(name: String, type: DatabaseType.ImplementationsProvider<RT>): Column<RT, tUE>
public fun <RT> column_create(name: String, type: DatabaseType.ImplementationsProvider<RT>): Column<RT, tUE>
public fun <RT> column(
public fun <RT> column_create(
name: String, type: DatabaseType.ImplementationsProvider<RT>,
alterCreateColumn: _Statement.Void2Void<*>
): Column<RT, tUE>
public fun <RT> column(
public fun <RT> column_create(
name: String, type: DatabaseType.ImplementationsProvider<RT>,
alterCreateColumn: RawStatement.Void2Void.ImplementationsProvider<*>
): Column<RT, tUE>
@LowLevelApi
public fun <RT, sUE : Any> _column(
public fun <RT, sUE : Any> _column_create(
name: String, type: DatabaseType.ImplementationsProvider<RT>,
alterCreateColumn: _Statement.Void2Void<sUE>
): InputRow._Scope<sUE, Column<RT, tUE>>
@LowLevelApi
public fun <RT, sUE : Any> _column(
public fun <RT, sUE : Any> _column_create(
name: String, type: DatabaseType.ImplementationsProvider<RT>,
alterCreateColumn: RawStatement.Params2Void.ImplementationsProvider<sUE>
): InputRow._Scope<sUE, Column<RT, tUE>>
public fun tableScopedObject(name: String, metadata: ObjectClass.ImplementationsProvider): TableScopedObject<tUE>
public fun object_create(name: String, metadata: ObjectClass.ImplementationsProvider): TableScopedObject<tUE>
public fun addAlterStatement(stmt: _Statement.Void2Void<*>)
public fun addAlterStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)

View File

@ -9,7 +9,7 @@ public interface TableScopedObject<tUE : Any> {
public val name: String
@ReflectionApi
public val table: Table<tUE, *>
public val parentTable: Table<tUE, *>
@ReflectionApi
public val objectClassProvider: ObjectClass.ImplementationsProvider

View File

@ -6,15 +6,15 @@ import ru.landgrafhomyak.db.skeleton1.api.statement._Statement
import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow
public interface TableUpgradeScope<tnUE : Any, toUE : Any> : TableConstructorScope<tnUE> {
public fun <RT> keepColumn(c: Column<RT, toUE>): Column<RT, tnUE>
public fun <RT> renameColumn(c: Column<RT, toUE>, newName: String): Column<RT, tnUE>
public fun deleteColumn(c: Column<*, toUE>)
public fun <RT> deleteColumnAfterUpgrade(c: Column<RT, toUE>): Column<RT, tnUE>
public fun <RT> column_keep(c: Column<RT, toUE>): Column<RT, tnUE>
public fun <RT> column_rename(c: Column<RT, toUE>, newName: String): Column<RT, tnUE>
public fun column_delete(c: Column<*, toUE>)
public fun <RT> column_deleteAfterTableUpgrade(c: Column<RT, toUE>): Column<RT, tnUE>
public fun keepTableScopedObject(obj: TableScopedObject<toUE>): TableScopedObject<tnUE>
public fun renameTableScopedObject(obj: TableScopedObject<toUE>, newName: String): TableScopedObject<tnUE>
public fun deleteTableScopedObject(obj: TableScopedObject<toUE>)
public fun deleteTableScopedObjectAfterUpgrade(obj: TableScopedObject<toUE>): TableScopedObject<tnUE>
public fun object_keep(obj: TableScopedObject<toUE>): TableScopedObject<tnUE>
public fun object_rename(obj: TableScopedObject<toUE>, newName: String): TableScopedObject<tnUE>
public fun object_delete(obj: TableScopedObject<toUE>)
public fun object_deleteAfterTableUpgrade(obj: TableScopedObject<toUE>): TableScopedObject<tnUE>
public fun addAlterStatementAfterUpgrade(stmt: _Statement.Void2Void<*>)
public fun addAlterStatementAfterUpgrade(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)