diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ApiVersion.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ApiVersion.kt new file mode 100644 index 0000000..f639509 --- /dev/null +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ApiVersion.kt @@ -0,0 +1,24 @@ +package ru.landgrafhomyak.db.skeleton1.api + +import kotlin.jvm.JvmField + +public abstract class ApiVersion private constructor(public val str: String) { + override fun equals(other: Any?): Boolean { + if (other == null) return false + if (other !is ApiVersion) return false + return this === other + } + + override fun toString(): String = "" + + override fun hashCode(): Int = this.str.hashCode() + + public abstract fun isImplements(lower: ApiVersion): Boolean + + public companion object { + @JvmField + public val V_0_0: ApiVersion = object : ApiVersion("0.0") { + override fun isImplements(lower: ApiVersion) = this === lower + } + } +} \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DriverMetainfo.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DriverMetainfo.kt index edce1b4..f596c46 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DriverMetainfo.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DriverMetainfo.kt @@ -14,4 +14,5 @@ public interface DriverMetainfo< @Suppress("unused") STATEMENT_CONSTRUCTOR__PARAMS_2_TABLE : RawStatement.Params2Table.Constructor<*>, @Suppress("unused") OBJECT_OPERATIONS : ObjectOperations<*> > { + public val apiVersion: ApiVersion } \ No newline at end of file