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:
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user