DriverType -> DriverMetainfo

This commit is contained in:
Andrew Golovashevich 2025-05-11 23:43:28 +03:00
parent 98ed264aa1
commit 633d137bf0
6 changed files with 36 additions and 36 deletions

View File

@ -7,7 +7,7 @@ public interface DatabaseType<@Suppress("unused") RUNTIME_TYPE : Any?> {
public interface Scope<RUNTIME_TYPE> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <DATABASE_TYPE, DATABASE_TYPE_UNBOUND> addImplementation(
key: DriverType<DATABASE_TYPE_UNBOUND, *, *, *, *, *, *, *, *, *>, type: DATABASE_TYPE
key: DriverMetainfo<DATABASE_TYPE_UNBOUND, *, *, *, *, *, *, *, *, *>, type: DATABASE_TYPE
) where DATABASE_TYPE_UNBOUND : DatabaseType<*>,
DATABASE_TYPE : DatabaseType<RUNTIME_TYPE>,
DATABASE_TYPE : DATABASE_TYPE_UNBOUND

View File

@ -0,0 +1,17 @@
package ru.landgrafhomyak.db.skeleton1.api
import ru.landgrafhomyak.db.skeleton1.api.statement.RawStatement
public interface DriverMetainfo<
@Suppress("unused") DATABASE_TYPE : DatabaseType<*>,
@Suppress("unused") STATEMENT_CONSTRUCTOR__VOID_2_VOID : RawStatement.Void2Void.Constructor<*>,
@Suppress("unused") STATEMENT_CONSTRUCTOR__VOID_2_ROW : RawStatement.Void2Row.Constructor<*>,
@Suppress("unused") STATEMENT_CONSTRUCTOR__VOID_2_ROW_OR_NULL : RawStatement.Void2RowOrNull.Constructor<*>,
@Suppress("unused") STATEMENT_CONSTRUCTOR__VOID_2_TABLE : RawStatement.Void2Table.Constructor<*>,
@Suppress("unused") STATEMENT_CONSTRUCTOR__PARAMS_2_VOID : RawStatement.Params2Void.Constructor<*>,
@Suppress("unused") STATEMENT_CONSTRUCTOR__PARAMS_2_ROW : RawStatement.Params2Row.Constructor<*>,
@Suppress("unused") STATEMENT_CONSTRUCTOR__PARAMS_2_ROW_OR_NULL : RawStatement.Params2RowOrNull.Constructor<*>,
@Suppress("unused") STATEMENT_CONSTRUCTOR__PARAMS_2_TABLE : RawStatement.Params2Table.Constructor<*>,
@Suppress("unused") OBJECT_OPERATIONS : ObjectOperations<*>
> {
}

View File

@ -1,17 +0,0 @@
package ru.landgrafhomyak.db.skeleton1.api
import ru.landgrafhomyak.db.skeleton1.api.statement.RawStatement
public interface DriverType<
DATABASE_TYPE : DatabaseType<*>,
STATEMENT_CONSTRUCTOR__VOID_2_VOID : RawStatement.Void2Void.Constructor<*>,
STATEMENT_CONSTRUCTOR__VOID_2_ROW : RawStatement.Void2Row.Constructor<*>,
STATEMENT_CONSTRUCTOR__VOID_2_ROW_OR_NULL : RawStatement.Void2RowOrNull.Constructor<*>,
STATEMENT_CONSTRUCTOR__VOID_2_TABLE : RawStatement.Void2Table.Constructor<*>,
STATEMENT_CONSTRUCTOR__PARAMS_2_VOID : RawStatement.Params2Void.Constructor<*>,
STATEMENT_CONSTRUCTOR__PARAMS_2_ROW : RawStatement.Params2Row.Constructor<*>,
STATEMENT_CONSTRUCTOR__PARAMS_2_ROW_OR_NULL : RawStatement.Params2RowOrNull.Constructor<*>,
STATEMENT_CONSTRUCTOR__PARAMS_2_TABLE : RawStatement.Params2Table.Constructor<*>,
OBJECT_OPERATIONS : ObjectOperations<*>
> {
}

View File

@ -7,7 +7,7 @@ public interface ObjectOperations<@Suppress("unused") UE : Any?> {
public interface Scope<RUNTIME_TYPE> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <OPERATIONS, OPERATIONS_UNBOUND> addImplementation(
key: DriverType<*, *, *, *, *, *, *, *, *, OPERATIONS_UNBOUND>, type: OPERATIONS
key: DriverMetainfo<*, *, *, *, *, *, *, *, *, OPERATIONS_UNBOUND>, type: OPERATIONS
) where OPERATIONS_UNBOUND : ObjectOperations<*>,
OPERATIONS : ObjectOperations<RUNTIME_TYPE>,
OPERATIONS : OPERATIONS_UNBOUND

View File

@ -4,37 +4,37 @@ 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.DriverType
import ru.landgrafhomyak.db.skeleton1.api.DriverMetainfo
import ru.landgrafhomyak.db.skeleton1.api.errors.SchemaDefinitionException
@DebugApi
@OptIn(ExperimentalCoroutinesApi::class)
public class EntityNotImplementedException : SchemaDefinitionException, CopyableThrowable<EntityNotImplementedException> {
public val provider: Any
public val driver: DriverType<*, *, *, *, *, *, *, *, *, *>
public val driver: DriverMetainfo<*, *, *, *, *, *, *, *, *, *>
public constructor(provider: Any, driver: DriverType<*, *, *, *, *, *, *, *, *, *>) : super(formatMessage(provider, driver)) {
public constructor(provider: Any, driver: DriverMetainfo<*, *, *, *, *, *, *, *, *, *>) : super(formatMessage(provider, driver)) {
this.provider = provider
this.driver = driver
}
public constructor(provider: Any, driver: DriverType<*, *, *, *, *, *, *, *, *, *>, customMessage: String) : super(customMessage) {
public constructor(provider: Any, driver: DriverMetainfo<*, *, *, *, *, *, *, *, *, *>, customMessage: String) : super(customMessage) {
this.provider = provider
this.driver = driver
}
public constructor(provider: Any, driver: DriverType<*, *, *, *, *, *, *, *, *, *>, customMessage: String, cause: Throwable) : super(customMessage, cause) {
public constructor(provider: Any, driver: DriverMetainfo<*, *, *, *, *, *, *, *, *, *>, customMessage: String, cause: Throwable) : super(customMessage, cause) {
this.provider = provider
this.driver = driver
}
public constructor(provider: Any, driver: DriverType<*, *, *, *, *, *, *, *, *, *>, cause: Throwable) : super(formatMessage(provider, driver), cause) {
public constructor(provider: Any, driver: DriverMetainfo<*, *, *, *, *, *, *, *, *, *>, cause: Throwable) : super(formatMessage(provider, driver), cause) {
this.provider = provider
this.driver = driver
}
public constructor(
provider: Any, driver: DriverType<*, *, *, *, *, *, *, *, *, *>,
provider: Any, driver: DriverMetainfo<*, *, *, *, *, *, *, *, *, *>,
message: String?, cause: Throwable?,
@Suppress("unused", "LocalVariableName") _marker: Unit
) : super(message, cause, _marker) {
@ -55,7 +55,7 @@ public class EntityNotImplementedException : SchemaDefinitionException, Copyable
public companion object {
@JvmStatic
public fun formatMessage(
provider: Any, driver: DriverType<*, *, *, *, *, *, *, *, *, *>
provider: Any, driver: DriverMetainfo<*, *, *, *, *, *, *, *, *, *>
): String = "$provider doesn't provides implementation for driver $driver"
}
}

View File

@ -1,6 +1,6 @@
package ru.landgrafhomyak.db.skeleton1.api.statement
import ru.landgrafhomyak.db.skeleton1.api.DriverType
import ru.landgrafhomyak.db.skeleton1.api.DriverMetainfo
public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, RUNTIME_KEY> {
public override val uExt: qUE
@ -16,7 +16,7 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
public interface Scope<USER_EXTENSION : Any?> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
driverType: DriverType<*, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *, *>,
driverMetainfo: DriverMetainfo<*, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *, *>,
constructor: STATEMENT_CONSTRUCTOR
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
@ -36,7 +36,7 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
public interface Scope<USER_EXTENSION : Any> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
driverType: DriverType<*, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *>,
driverMetainfo: DriverMetainfo<*, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *>,
constructor: STATEMENT_CONSTRUCTOR
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
@ -56,7 +56,7 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
public interface Scope<USER_EXTENSION : Any> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
driverType: DriverType<*, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *>,
driverMetainfo: DriverMetainfo<*, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *>,
constructor: STATEMENT_CONSTRUCTOR
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
@ -77,7 +77,7 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
public interface Selector<USER_EXTENSION : Any> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
driverType: DriverType<*, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *>,
driverMetainfo: DriverMetainfo<*, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *>,
constructor: STATEMENT_CONSTRUCTOR
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
@ -97,7 +97,7 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
public interface Scope<USER_EXTENSION : Any> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
driverType: DriverType<*, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *>,
driverMetainfo: DriverMetainfo<*, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *>,
constructor: STATEMENT_CONSTRUCTOR
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
@ -117,7 +117,7 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
public interface Scope<USER_EXTENSION : Any> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
driverType: DriverType<*, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *>,
driverMetainfo: DriverMetainfo<*, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *>,
constructor: STATEMENT_CONSTRUCTOR
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
@ -137,7 +137,7 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
public interface Scope<USER_EXTENSION : Any> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
driverType: DriverType<*, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *>,
driverMetainfo: DriverMetainfo<*, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *>,
constructor: STATEMENT_CONSTRUCTOR
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
@ -157,7 +157,7 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
public interface Scope<USER_EXTENSION : Any> {
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
driverType: DriverType<*, *, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *>,
driverMetainfo: DriverMetainfo<*, *, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *>,
constructor: STATEMENT_CONSTRUCTOR
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,