Additional reflection properties
This commit is contained in:
parent
bb4fadac9d
commit
64fd1d9958
@ -1,41 +1,50 @@
|
||||
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.ReflectionApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.statement.InputParam
|
||||
import ru.landgrafhomyak.db.skeleton1.api.statement._Statement
|
||||
|
||||
@ReflectionApi
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
public class AccessWhileInitializationException : IllegalStateException, CopyableThrowable<AccessWhileInitializationException> {
|
||||
public val scope: Any
|
||||
public val `object`: Any
|
||||
public val member: Any
|
||||
|
||||
public constructor(`object`: Any, member: Any) : super() {
|
||||
public constructor(scope: Any, `object`: Any, member: Any) : super() {
|
||||
this.scope = scope
|
||||
this.`object` = `object`
|
||||
this.member = member
|
||||
}
|
||||
|
||||
public constructor(`object`: Any, member: Any, message: String) : super(message) {
|
||||
public constructor(scope: Any, `object`: Any, member: Any, customMessage: String) : super(customMessage) {
|
||||
this.scope = scope
|
||||
this.`object` = `object`
|
||||
this.member = member
|
||||
}
|
||||
|
||||
public constructor(`object`: Any, member: Any, message: String, cause: Throwable) : super(message, cause) {
|
||||
public constructor(scope: Any, `object`: Any, member: Any, customMessage: String, cause: Throwable) : super(customMessage, cause) {
|
||||
this.scope = scope
|
||||
this.`object` = `object`
|
||||
this.member = member
|
||||
}
|
||||
|
||||
public constructor(`object`: Any, member: Any, cause: Throwable) : super(cause) {
|
||||
public constructor(scope: Any, `object`: Any, member: Any, cause: Throwable) : super(cause) {
|
||||
this.scope = scope
|
||||
this.`object` = `object`
|
||||
this.member = member
|
||||
}
|
||||
|
||||
public constructor(
|
||||
`object`: Any, member: Any,
|
||||
scope: Any, `object`: Any, member: Any,
|
||||
message: String?,
|
||||
cause: Throwable?,
|
||||
@Suppress("unused", "LocalVariableName") _marker: Unit
|
||||
) : super(message, cause) {
|
||||
this.scope = scope
|
||||
this.`object` = `object`
|
||||
this.member = member
|
||||
}
|
||||
@ -43,6 +52,7 @@ public class AccessWhileInitializationException : IllegalStateException, Copyabl
|
||||
|
||||
override fun createCopy(): AccessWhileInitializationException? {
|
||||
return AccessWhileInitializationException(
|
||||
scope = this.scope,
|
||||
`object` = this.`object`,
|
||||
member = this.member,
|
||||
message = this.message,
|
||||
@ -50,4 +60,10 @@ public class AccessWhileInitializationException : IllegalStateException, Copyabl
|
||||
_marker = Unit
|
||||
)
|
||||
}
|
||||
|
||||
public companion object {
|
||||
@JvmStatic
|
||||
public fun formatMessage(scope: Any, `object`: Any, member: Any): String =
|
||||
"Attempt to access $member of $`object` before it's producer scope $scope not finished"
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
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.ReflectionApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.statement.InputParam
|
||||
import ru.landgrafhomyak.db.skeleton1.api.statement._Statement
|
||||
|
||||
@ReflectionApi
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
public class ScopeAlreadyFinishedException : IllegalStateException, CopyableThrowable<ScopeAlreadyFinishedException> {
|
||||
public val scope: Any
|
||||
public val member: Any
|
||||
|
||||
public constructor(scope: Any, member: Any) : super() {
|
||||
this.scope = scope
|
||||
this.member = member
|
||||
}
|
||||
|
||||
public constructor(scope: Any, member: Any, customMessage: String) : super(customMessage) {
|
||||
this.scope = scope
|
||||
this.member = member
|
||||
}
|
||||
|
||||
public constructor(scope: Any, member: Any, customMessage: String, cause: Throwable) : super(customMessage, cause) {
|
||||
this.scope = scope
|
||||
this.member = member
|
||||
}
|
||||
|
||||
public constructor(scope: Any, member: Any, cause: Throwable) : super(cause) {
|
||||
this.scope = scope
|
||||
this.member = member
|
||||
}
|
||||
|
||||
public constructor(
|
||||
scope: Any, member: Any,
|
||||
message: String?,
|
||||
cause: Throwable?,
|
||||
@Suppress("unused", "LocalVariableName") _marker: Unit
|
||||
) : super(message, cause) {
|
||||
this.scope = scope
|
||||
this.member = member
|
||||
}
|
||||
|
||||
|
||||
override fun createCopy(): ScopeAlreadyFinishedException? {
|
||||
return ScopeAlreadyFinishedException(
|
||||
scope = this.scope,
|
||||
member = this.member,
|
||||
message = this.message,
|
||||
cause = this.cause,
|
||||
_marker = Unit
|
||||
)
|
||||
}
|
||||
|
||||
public companion object {
|
||||
@JvmStatic
|
||||
public fun formatMessage(scope: Any, member: Any): String =
|
||||
"Attempt to access $member of $scope after it was closed"
|
||||
}
|
||||
}
|
@ -35,8 +35,28 @@ public interface Module<mUE : Any, IK : Any> {
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberModules")
|
||||
public val memberModules: Collection<Module<*, IK>>
|
||||
@get:JvmName("getMemberSubmodules")
|
||||
public val memberSubmodules: Collection<Module<*, IK>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberTablesWhileUpgrade")
|
||||
public val memberTablesWhileUpgrade: Collection<Table<*, mUE, IK>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberObjectsWhileUpgrade")
|
||||
public val memberObjectsWhileUpgrade: Collection<ModuleScopedObject<*, mUE, IK>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberSubmodulesWhileUpgrade")
|
||||
public val memberSubmodulesWhileUpgrade: Collection<Module<*, IK>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("willBeDeletedAfterUpgrade")
|
||||
public val willBeDeletedAfterUpgrade: Boolean
|
||||
|
||||
public interface Constructor<mUE : Any, IK : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.landgrafhomyak.db.skeleton1.api.module
|
||||
|
||||
import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ObjectOperations
|
||||
|
||||
@ -17,4 +18,9 @@ public interface ModuleScopedObject<oUE : Any?, mUE : Any, IK : Any> {
|
||||
|
||||
@ReflectionApi
|
||||
public val meta: ObjectOperations.ImplementationsProvider<oUE>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("willBeDeletedAfterUpgrade")
|
||||
public val willBeDeletedAfterUpgrade: Boolean
|
||||
}
|
@ -18,4 +18,9 @@ public interface Column<RT, tUE : Any, IK : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getTable")
|
||||
public val table: Table<tUE, *, IK>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("willBeDeletedAfterUpgrade")
|
||||
public val willBeDeletedAfterUpgrade: Boolean
|
||||
}
|
@ -47,6 +47,21 @@ public interface Table<UE : Any, mUE : Any, IK : Any> {
|
||||
@get:JvmName("getMemberObjects")
|
||||
public val memberObjects: Collection<TableScopedObject<*, UE, IK>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberColumnsWhileUpgrade")
|
||||
public val memberColumnsWhileUpgrade: Collection<Column<*, UE, IK>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberObjectsWhileUpgrade")
|
||||
public val memberObjectsWhileUpgrade: Collection<TableScopedObject<*, UE, IK>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("willBeDeletedAfterUpgrade")
|
||||
public val willBeDeletedAfterUpgrade: Boolean
|
||||
|
||||
public interface Constructor<tUE : Any, RK : Any> {
|
||||
public fun createTable(context: TableConstructorScope<tUE, RK>): tUE
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.landgrafhomyak.db.skeleton1.api.table
|
||||
|
||||
import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ObjectOperations
|
||||
|
||||
@ -14,4 +15,9 @@ public interface TableScopedObject<oUE : Any?, tUE : Any, IK : Any> {
|
||||
|
||||
@ReflectionApi
|
||||
public val meta: ObjectOperations.ImplementationsProvider<oUE>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("willBeDeletedAfterUpgrade")
|
||||
public val willBeDeletedAfterUpgrade: Boolean
|
||||
}
|
@ -13,7 +13,8 @@ public interface TableUpgradeScope<tnUE : Any, toUE : Any, IK : Any> : TableCons
|
||||
|
||||
public fun <oUE : Any?> keepTableScopedObject(obj: TableScopedObject<oUE, toUE, IK>): TableScopedObject<oUE, tnUE, IK>
|
||||
public fun <oUE : Any?> renameTableScopedObject(obj: TableScopedObject<oUE, toUE, IK>, newName: String): TableScopedObject<oUE, tnUE, IK>
|
||||
public fun <oUE : Any?> deleteTableScopedObject(obj: TableScopedObject<oUE, toUE, IK>): TableScopedObject<oUE, tnUE, IK>
|
||||
public fun <oUE : Any?> deleteTableScopedObject(obj: TableScopedObject<oUE, toUE, IK>)
|
||||
public fun <oUE : Any?> deleteTableScopedObjectAfterUpgrade(obj: TableScopedObject<oUE, toUE, IK>): TableScopedObject<oUE, tnUE, IK>
|
||||
|
||||
public fun addAlterStatementAfterUpgrade(stmt: _Statement.Void2Void<*, IK>)
|
||||
public fun addAlterStatementAfterUpgrade(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
|
||||
|
Loading…
Reference in New Issue
Block a user