Driver now has helper methods to assert that implementation can be got from a given provider
This commit is contained in:
parent
8fff112946
commit
b398ce69e8
@ -7,7 +7,7 @@ public interface DatabaseType<@Suppress("unused") RUNTIME_TYPE : Any?> {
|
|||||||
public interface Scope<RUNTIME_TYPE> {
|
public interface Scope<RUNTIME_TYPE> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <DATABASE_TYPE, DATABASE_TYPE_UNBOUND> addImplementation(
|
public fun <DATABASE_TYPE, DATABASE_TYPE_UNBOUND> addImplementation(
|
||||||
key: DriverMetainfo<DATABASE_TYPE_UNBOUND, *, *, *, *, *, *, *, *, *>, type: DATABASE_TYPE
|
key: Driver<DATABASE_TYPE_UNBOUND, *, *, *, *, *, *, *, *, *>, type: DATABASE_TYPE
|
||||||
) where DATABASE_TYPE_UNBOUND : DatabaseType<*>,
|
) where DATABASE_TYPE_UNBOUND : DatabaseType<*>,
|
||||||
DATABASE_TYPE : DatabaseType<RUNTIME_TYPE>,
|
DATABASE_TYPE : DatabaseType<RUNTIME_TYPE>,
|
||||||
DATABASE_TYPE : DATABASE_TYPE_UNBOUND
|
DATABASE_TYPE : DATABASE_TYPE_UNBOUND
|
||||||
|
@ -2,7 +2,7 @@ package ru.landgrafhomyak.db.skeleton1.api
|
|||||||
|
|
||||||
import ru.landgrafhomyak.db.skeleton1.api.statement.RawStatement
|
import ru.landgrafhomyak.db.skeleton1.api.statement.RawStatement
|
||||||
|
|
||||||
public interface DriverMetainfo<
|
public interface Driver<
|
||||||
@Suppress("unused") DATABASE_TYPE : DatabaseType<*>,
|
@Suppress("unused") DATABASE_TYPE : DatabaseType<*>,
|
||||||
@Suppress("unused") STATEMENT_CONSTRUCTOR__VOID_2_VOID : RawStatement.Void2Void.Constructor<*>,
|
@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 : RawStatement.Void2Row.Constructor<*>,
|
||||||
@ -16,4 +16,15 @@ public interface DriverMetainfo<
|
|||||||
> {
|
> {
|
||||||
@ReflectionApi
|
@ReflectionApi
|
||||||
public fun isImplements(version: ApiVersion): Boolean
|
public fun isImplements(version: ApiVersion): Boolean
|
||||||
|
|
||||||
|
public fun assertImplemented_databaseType(ip: DatabaseType.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_rawStatement_void2void(ip: RawStatement.Void2Void.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_rawStatement_void2row(ip: RawStatement.Void2Row.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_rawStatement_void2rowOrNull(ip: RawStatement.Void2RowOrNull.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_rawStatement_void2table(ip: RawStatement.Void2Table.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_rawStatement_params2void(ip: RawStatement.Params2Void.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_rawStatement_params2row(ip: RawStatement.Params2Row.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_rawStatement_params2rowOrNull(ip: RawStatement.Params2RowOrNull.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_rawStatement_params2table(ip: RawStatement.Params2Table.ImplementationsProvider<*>)
|
||||||
|
public fun assertImplemented_objectOperations(ip: ObjectOperations.ImplementationsProvider)
|
||||||
}
|
}
|
@ -7,7 +7,7 @@ public interface ObjectOperations<@Suppress("unused") UE : Any?> {
|
|||||||
public interface Scope {
|
public interface Scope {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <UE, OPERATIONS, OPERATIONS_UNBOUND> addImplementation(
|
public fun <UE, OPERATIONS, OPERATIONS_UNBOUND> addImplementation(
|
||||||
key: DriverMetainfo<*, *, *, *, *, *, *, *, *, OPERATIONS_UNBOUND>, type: OPERATIONS
|
key: Driver<*, *, *, *, *, *, *, *, *, OPERATIONS_UNBOUND>, type: OPERATIONS
|
||||||
) where OPERATIONS_UNBOUND : ObjectOperations<*>,
|
) where OPERATIONS_UNBOUND : ObjectOperations<*>,
|
||||||
OPERATIONS : ObjectOperations<UE>,
|
OPERATIONS : ObjectOperations<UE>,
|
||||||
OPERATIONS : OPERATIONS_UNBOUND
|
OPERATIONS : OPERATIONS_UNBOUND
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package ru.landgrafhomyak.db.skeleton1.api.statement
|
package ru.landgrafhomyak.db.skeleton1.api.statement
|
||||||
|
|
||||||
import ru.landgrafhomyak.db.skeleton1.api.DriverMetainfo
|
import ru.landgrafhomyak.db.skeleton1.api.Driver
|
||||||
|
|
||||||
public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
||||||
public override val uExt: sUE
|
public override val uExt: sUE
|
||||||
@ -16,7 +16,7 @@ public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
|||||||
public interface Scope<USER_EXTENSION : Any?> {
|
public interface Scope<USER_EXTENSION : Any?> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
||||||
driverMetainfo: DriverMetainfo<*, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *, *>,
|
driver: Driver<*, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *, *>,
|
||||||
constructor: STATEMENT_CONSTRUCTOR
|
constructor: STATEMENT_CONSTRUCTOR
|
||||||
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
||||||
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
||||||
@ -38,7 +38,7 @@ public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
|||||||
public interface Scope<USER_EXTENSION : Any> {
|
public interface Scope<USER_EXTENSION : Any> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
||||||
driverMetainfo: DriverMetainfo<*, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *>,
|
driver: Driver<*, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *>,
|
||||||
constructor: STATEMENT_CONSTRUCTOR
|
constructor: STATEMENT_CONSTRUCTOR
|
||||||
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
||||||
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
||||||
@ -60,7 +60,7 @@ public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
|||||||
public interface Scope<USER_EXTENSION : Any> {
|
public interface Scope<USER_EXTENSION : Any> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
||||||
driverMetainfo: DriverMetainfo<*, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *>,
|
driver: Driver<*, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *>,
|
||||||
constructor: STATEMENT_CONSTRUCTOR
|
constructor: STATEMENT_CONSTRUCTOR
|
||||||
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
||||||
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
||||||
@ -83,7 +83,7 @@ public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
|||||||
public interface Selector<USER_EXTENSION : Any> {
|
public interface Selector<USER_EXTENSION : Any> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
||||||
driverMetainfo: DriverMetainfo<*, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *>,
|
driver: Driver<*, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *>,
|
||||||
constructor: STATEMENT_CONSTRUCTOR
|
constructor: STATEMENT_CONSTRUCTOR
|
||||||
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
||||||
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
||||||
@ -105,7 +105,7 @@ public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
|||||||
public interface Scope<USER_EXTENSION : Any> {
|
public interface Scope<USER_EXTENSION : Any> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
||||||
driverMetainfo: DriverMetainfo<*, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *>,
|
driver: Driver<*, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *>,
|
||||||
constructor: STATEMENT_CONSTRUCTOR
|
constructor: STATEMENT_CONSTRUCTOR
|
||||||
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
||||||
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
||||||
@ -127,7 +127,7 @@ public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
|||||||
public interface Scope<USER_EXTENSION : Any> {
|
public interface Scope<USER_EXTENSION : Any> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
||||||
driverMetainfo: DriverMetainfo<*, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *>,
|
driver: Driver<*, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *>,
|
||||||
constructor: STATEMENT_CONSTRUCTOR
|
constructor: STATEMENT_CONSTRUCTOR
|
||||||
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
||||||
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
||||||
@ -149,7 +149,7 @@ public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
|||||||
public interface Scope<USER_EXTENSION : Any> {
|
public interface Scope<USER_EXTENSION : Any> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
||||||
driverMetainfo: DriverMetainfo<*, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *>,
|
driver: Driver<*, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *>,
|
||||||
constructor: STATEMENT_CONSTRUCTOR
|
constructor: STATEMENT_CONSTRUCTOR
|
||||||
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
||||||
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
||||||
@ -171,7 +171,7 @@ public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
|||||||
public interface Scope<USER_EXTENSION : Any> {
|
public interface Scope<USER_EXTENSION : Any> {
|
||||||
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
@Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS")
|
||||||
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> addImplementation(
|
||||||
driverMetainfo: DriverMetainfo<*, *, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *>,
|
driver: Driver<*, *, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *>,
|
||||||
constructor: STATEMENT_CONSTRUCTOR
|
constructor: STATEMENT_CONSTRUCTOR
|
||||||
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>,
|
||||||
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
STATEMENT_CONSTRUCTOR : Constructor<USER_EXTENSION>,
|
||||||
|
Loading…
Reference in New Issue
Block a user