9
0
mirror of https://github.com/Auxilor/EcoSkills.git synced 2026-01-03 14:22:17 +00:00

Switched data storage to nullable

This commit is contained in:
Auxilor
2021-10-16 15:31:46 +01:00
parent aa02c00db8
commit 58e54f7ec6
3 changed files with 9 additions and 10 deletions

View File

@@ -6,5 +6,8 @@ interface DataHandler {
fun save()
fun <T> write(uuid: UUID, key: String, value: T)
fun <T : Any> read(uuid: UUID, key: String, default: T): T
fun <T> read(uuid: UUID, key: String): T?
fun <T : Any> read(uuid: UUID, key: String, default: T): T {
return read<T>(uuid, key) ?: default
}
}

View File

@@ -67,11 +67,11 @@ class MySQLDataHandler(
}
}
override fun <T : Any> read(uuid: UUID, key: String, default: T): T {
var value = default
override fun <T> read(uuid: UUID, key: String): T? {
var value: T? = null
transaction {
val player = Players.select { Players.id eq uuid }.firstOrNull() ?: return@transaction
value = player[Players.columns.stream().filter { it.name == key }.findFirst().get()] as T? ?: default
value = player[Players.columns.stream().filter { it.name == key }.findFirst().get()] as T?
}
return value
}

View File

@@ -18,12 +18,8 @@ class YamlDataHandler(
dataYml.set("player.$uuid.$key", value)
}
override fun <T : Any> read(uuid: UUID, key: String, default: T): T {
return if (dataYml.has("player.$uuid.$key")) {
dataYml.get("player.$uuid.$key") as T
} else {
default
}
override fun <T> read(uuid: UUID, key: String): T? {
return dataYml.get("player.$uuid.$key") as T?
}
class DataYml(