From fe289fe8c5ceb9ff066ada0a4d4ec05103ae1bd0 Mon Sep 17 00:00:00 2001 From: Andrew Golovashevich Date: Fri, 16 May 2025 16:11:39 +0300 Subject: [PATCH] 'DebugApi' -> 'ReflectionApi' and member collections in table and module descriptors --- .../api/{DebugApi.kt => ReflectionApi.kt} | 2 +- .../AccessWhileInitializationException.kt | 7 ++--- .../api/errors/ExecutionException.kt | 4 +-- .../api/errors/SchemaDefinitionException.kt | 4 +-- .../errors/SchemaSynchronizationException.kt | 4 +-- .../errors/UninitializedParameterException.kt | 4 +-- .../EntityNotImplementedException.kt | 4 +-- .../ExportedEntitiesNotImportedException.kt | 4 +-- .../definition/IncorrectNameException.kt | 7 ++--- .../definition/NameConflictException.kt | 4 +-- .../NamespaceAlreadyBusyException.kt | 4 +-- .../TableWithoutColumnsException.kt | 4 +-- .../definition/UnboundParameterException.kt | 8 ++---- .../definition/UnknownVersionException.kt | 4 +-- .../UnreferencedEntityAtUpgradeException.kt | 4 +-- .../definition/VersionDuplicationException.kt | 4 +-- .../errors/definition/WrongScopeException.kt | 5 ++-- .../SchemaExecutionException.kt | 7 ++--- .../SchemaMismatchException.kt | 7 ++--- .../db/skeleton1/api/module/Module.kt | 26 +++++++++++++++---- .../api/module/ModuleScopedObject.kt | 10 +++---- .../db/skeleton1/api/module/Namespace.kt | 8 +++--- .../db/skeleton1/api/statement/InputParam.kt | 6 ++--- .../skeleton1/api/statement/OutputColumn.kt | 6 ++--- .../db/skeleton1/api/table/Column.kt | 6 ++--- .../db/skeleton1/api/table/Table.kt | 20 ++++++++++---- .../skeleton1/api/table/TableScopedObject.kt | 8 +++--- 27 files changed, 95 insertions(+), 86 deletions(-) rename src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/{DebugApi.kt => ReflectionApi.kt} (82%) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DebugApi.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ReflectionApi.kt similarity index 82% rename from src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DebugApi.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ReflectionApi.kt index 6efe081..cc27a51 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DebugApi.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ReflectionApi.kt @@ -3,4 +3,4 @@ package ru.landgrafhomyak.db.skeleton1.api @Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY) @Retention(AnnotationRetention.BINARY) @RequiresOptIn -public annotation class DebugApi +public annotation class ReflectionApi diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/AccessWhileInitializationException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/AccessWhileInitializationException.kt index d5e4898..9a8ad11 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/AccessWhileInitializationException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/AccessWhileInitializationException.kt @@ -1,13 +1,10 @@ package ru.landgrafhomyak.db.skeleton1.api.errors -import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi -import ru.landgrafhomyak.db.skeleton1.api.statement.InputParam -import ru.landgrafhomyak.db.skeleton1.api.statement._Statement +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class AccessWhileInitializationException : IllegalStateException, CopyableThrowable { public val `object`: Any diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/ExecutionException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/ExecutionException.kt index 9a859fd..9150fca 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/ExecutionException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/ExecutionException.kt @@ -1,9 +1,9 @@ package ru.landgrafhomyak.db.skeleton1.api.errors -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi -@DebugApi +@ReflectionApi public abstract class ExecutionException : RuntimeException { public constructor() : super() public constructor(message: String) : super(message) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/SchemaDefinitionException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/SchemaDefinitionException.kt index d7db093..d8809ba 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/SchemaDefinitionException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/SchemaDefinitionException.kt @@ -1,8 +1,8 @@ package ru.landgrafhomyak.db.skeleton1.api.errors -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi -@DebugApi +@ReflectionApi public abstract class SchemaDefinitionException : RuntimeException { public constructor() : super() public constructor(message: String) : super(message) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/SchemaSynchronizationException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/SchemaSynchronizationException.kt index e2e0c4a..e104dec 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/SchemaSynchronizationException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/SchemaSynchronizationException.kt @@ -1,8 +1,8 @@ package ru.landgrafhomyak.db.skeleton1.api.errors -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi -@DebugApi +@ReflectionApi public abstract class SchemaSynchronizationException : RuntimeException { public constructor() : super() public constructor(message: String) : super(message) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/UninitializedParameterException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/UninitializedParameterException.kt index bde8a69..fb54dad 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/UninitializedParameterException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/UninitializedParameterException.kt @@ -3,11 +3,11 @@ package ru.landgrafhomyak.db.skeleton1.api.errors import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.statement.InputParam import ru.landgrafhomyak.db.skeleton1.api.statement._Statement -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class UninitializedParameterException : RuntimeException, CopyableThrowable { public val statement: _Statement<*, *> diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/EntityNotImplementedException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/EntityNotImplementedException.kt index d81d11b..b7dea6a 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/EntityNotImplementedException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/EntityNotImplementedException.kt @@ -3,11 +3,11 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.DriverMetainfo import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class EntityNotImplementedException : SchemaDefinitionException, CopyableThrowable { public val provider: Any diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/ExportedEntitiesNotImportedException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/ExportedEntitiesNotImportedException.kt index 5e26105..e85419a 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/ExportedEntitiesNotImportedException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/ExportedEntitiesNotImportedException.kt @@ -3,10 +3,10 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class ExportedEntitiesNotImportedException : SchemaDefinitionException, CopyableThrowable { public val sourceScope: Any diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/IncorrectNameException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/IncorrectNameException.kt index 742a5be..6d0d568 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/IncorrectNameException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/IncorrectNameException.kt @@ -1,14 +1,11 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition -import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException -import ru.landgrafhomyak.db.skeleton1.api.statement.InputParam -import ru.landgrafhomyak.db.skeleton1.api.statement._Statement -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class IncorrectNameException : SchemaDefinitionException, CopyableThrowable { public val name: String diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/NameConflictException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/NameConflictException.kt index 96010bc..d6cb1b2 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/NameConflictException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/NameConflictException.kt @@ -3,10 +3,10 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class NameConflictException : SchemaDefinitionException, CopyableThrowable { public val scope: Any diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/NamespaceAlreadyBusyException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/NamespaceAlreadyBusyException.kt index 499a930..b6be642 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/NamespaceAlreadyBusyException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/NamespaceAlreadyBusyException.kt @@ -3,11 +3,11 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException import ru.landgrafhomyak.db.skeleton1.api.module.Namespace -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class NamespaceAlreadyBusyException : SchemaDefinitionException, CopyableThrowable { public val namespace: Namespace<*, *> diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/TableWithoutColumnsException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/TableWithoutColumnsException.kt index f35604c..a6839f9 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/TableWithoutColumnsException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/TableWithoutColumnsException.kt @@ -3,11 +3,11 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException import ru.landgrafhomyak.db.skeleton1.api.table.Table -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class TableWithoutColumnsException : SchemaDefinitionException, CopyableThrowable { public val table: Table<*, *, *> diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnboundParameterException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnboundParameterException.kt index d3cab92..ef8cc93 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnboundParameterException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnboundParameterException.kt @@ -1,13 +1,9 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition -import kotlin.jvm.JvmStatic -import kotlinx.coroutines.CopyableThrowable -import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi -import ru.landgrafhomyak.db.skeleton1.api.DriverMetainfo +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException -@DebugApi +@ReflectionApi public abstract class UnboundParameterException : SchemaDefinitionException { public val constructor: Any diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnknownVersionException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnknownVersionException.kt index f689a85..bf87937 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnknownVersionException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnknownVersionException.kt @@ -3,11 +3,11 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException import ru.landgrafhomyak.db.skeleton1.api.module.Module -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class UnknownVersionException : SchemaDefinitionException, CopyableThrowable { public val template: Module.Template<*> diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnreferencedEntityAtUpgradeException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnreferencedEntityAtUpgradeException.kt index 190d987..48e0db4 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnreferencedEntityAtUpgradeException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/UnreferencedEntityAtUpgradeException.kt @@ -3,10 +3,10 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class UnreferencedEntityAtUpgradeException : SchemaDefinitionException, CopyableThrowable { public val oldScope: Any diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/VersionDuplicationException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/VersionDuplicationException.kt index 4893ebf..1c23dea 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/VersionDuplicationException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/VersionDuplicationException.kt @@ -3,11 +3,11 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException import ru.landgrafhomyak.db.skeleton1.api.module.Module -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class VersionDuplicationException : SchemaDefinitionException, CopyableThrowable { public val template: Module.Template<*> diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/WrongScopeException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/WrongScopeException.kt index a029b79..63f3a2f 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/WrongScopeException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/definition/WrongScopeException.kt @@ -3,11 +3,10 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.definition import kotlin.jvm.JvmStatic import kotlinx.coroutines.CopyableThrowable import kotlinx.coroutines.ExperimentalCoroutinesApi -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException -import ru.landgrafhomyak.db.skeleton1.api.module.Module -@DebugApi +@ReflectionApi @OptIn(ExperimentalCoroutinesApi::class) public class WrongScopeException : SchemaDefinitionException, CopyableThrowable { public val wrongObject: Any diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/synchronization/SchemaExecutionException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/synchronization/SchemaExecutionException.kt index bda7a08..2daa702 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/synchronization/SchemaExecutionException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/synchronization/SchemaExecutionException.kt @@ -1,12 +1,9 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.synchronization -import kotlin.RuntimeException -import ru.landgrafhomyak.db.skeleton1.api.DebugApi -import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaSynchronizationException -import ru.landgrafhomyak.db.skeleton1.api.module.Module -@DebugApi +@ReflectionApi public abstract class SchemaExecutionException : SchemaSynchronizationException { public constructor() : super() public constructor(message: String) : super(message) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/synchronization/SchemaMismatchException.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/synchronization/SchemaMismatchException.kt index ef86001..32c2c1e 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/synchronization/SchemaMismatchException.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/errors/synchronization/SchemaMismatchException.kt @@ -1,12 +1,9 @@ package ru.landgrafhomyak.db.skeleton1.api.errors.synchronization -import kotlin.RuntimeException -import ru.landgrafhomyak.db.skeleton1.api.DebugApi -import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaSynchronizationException -import ru.landgrafhomyak.db.skeleton1.api.module.Module -@DebugApi +@ReflectionApi public abstract class SchemaMismatchException : SchemaSynchronizationException { public constructor() : super() public constructor(message: String) : super(message) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/Module.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/Module.kt index 5f1bd51..3fe9162 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/Module.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/Module.kt @@ -1,10 +1,11 @@ package ru.landgrafhomyak.db.skeleton1.api.module import kotlin.jvm.JvmName -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi import ru.landgrafhomyak.db.skeleton1.api.statement.QueriesCompiler import ru.landgrafhomyak.db.skeleton1.api.runtime.Transaction +import ru.landgrafhomyak.db.skeleton1.api.table.Table public interface Module { @@ -12,15 +13,30 @@ public interface Module { @get:JvmName("uExt") public val uExt: mUE - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getVersionKey") public val versionKey: String - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") - @get:JvmName("getParent") - public val parent: Module<*, IK>? + @get:JvmName("getParentModule") + public val parentModule: Module<*, IK>? + + @ReflectionApi + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getMemberTables") + public val memberTables: Collection> + + @ReflectionApi + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getMemberObjects") + public val memberObjects: Collection> + + @ReflectionApi + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getMemberModules") + public val memberModules: Collection> public interface Constructor { @Suppress("INAPPLICABLE_JVM_NAME") diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/ModuleScopedObject.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/ModuleScopedObject.kt index a6caf8a..3a19eb3 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/ModuleScopedObject.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/ModuleScopedObject.kt @@ -1,20 +1,20 @@ package ru.landgrafhomyak.db.skeleton1.api.module -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.ObjectOperations public interface ModuleScopedObject { public val uExt: oUE - @DebugApi + @ReflectionApi public val name: String - @DebugApi + @ReflectionApi public val module: Module - @DebugApi + @ReflectionApi public val namespace: Namespace - @DebugApi + @ReflectionApi public val meta: ObjectOperations.ImplementationsProvider } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/Namespace.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/Namespace.kt index 070ba97..267da1b 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/Namespace.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/Namespace.kt @@ -1,19 +1,19 @@ package ru.landgrafhomyak.db.skeleton1.api.module import kotlin.jvm.JvmName -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi public interface Namespace { - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getName") public val name: String - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getPath") public val path: List - @DebugApi + @ReflectionApi public val module: Module } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/InputParam.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/InputParam.kt index cae41ee..a68870d 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/InputParam.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/InputParam.kt @@ -1,15 +1,15 @@ package ru.landgrafhomyak.db.skeleton1.api.statement import kotlin.jvm.JvmName -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi public interface InputParam<@Suppress("unused") RT, sUE : Any, IK : Any> { - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getName") public val name: String - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getStatement") public val statement: _Statement diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/OutputColumn.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/OutputColumn.kt index 8c537a6..7fa07c4 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/OutputColumn.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/OutputColumn.kt @@ -1,15 +1,15 @@ package ru.landgrafhomyak.db.skeleton1.api.statement import kotlin.jvm.JvmName -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi public interface OutputColumn<@Suppress("unused") RT, sUE : Any, IK : Any> { - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("name") public val name: String - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getStatement") public val statement: _Statement diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/Column.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/Column.kt index 20c3a55..09a0f55 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/Column.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/Column.kt @@ -1,11 +1,11 @@ package ru.landgrafhomyak.db.skeleton1.api.table import kotlin.jvm.JvmName -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.DatabaseType public interface Column { - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("name") public val name: String @@ -14,7 +14,7 @@ public interface Column { @get:JvmName("type") public val type: DatabaseType.ImplementationsProvider - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getTable") public val table: Table diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/Table.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/Table.kt index 6eb896e..c94025f 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/Table.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/Table.kt @@ -1,7 +1,7 @@ package ru.landgrafhomyak.db.skeleton1.api.table import kotlin.jvm.JvmName -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.module.Module import ru.landgrafhomyak.db.skeleton1.api.module.Namespace @@ -10,17 +10,17 @@ public interface Table { @get:JvmName("uExt") public val uExt: UE - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getName") public val name: String - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getNamespace") public val namespace: Namespace - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getModule") public val module: Module @@ -32,11 +32,21 @@ public interface Table { MODULE_UPGRADE_SCOPE } - @DebugApi + @ReflectionApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getLifeTime") public val lifeTime: LifeTime + @ReflectionApi + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getMemberColumns") + public val memberColumns: Collection> + + @ReflectionApi + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getMemberObjects") + public val memberObjects: Collection> + public interface Constructor { public fun createTable(context: TableConstructorScope): tUE } diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableScopedObject.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableScopedObject.kt index 827fd50..cafa595 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableScopedObject.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableScopedObject.kt @@ -1,17 +1,17 @@ package ru.landgrafhomyak.db.skeleton1.api.table -import ru.landgrafhomyak.db.skeleton1.api.DebugApi +import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi import ru.landgrafhomyak.db.skeleton1.api.ObjectOperations public interface TableScopedObject { public val uExt: oUE - @DebugApi + @ReflectionApi public val name: String - @DebugApi + @ReflectionApi public val table: Table - @DebugApi + @ReflectionApi public val meta: ObjectOperations.ImplementationsProvider } \ No newline at end of file