Skip to content

Commit e00507a

Browse files
committed
fix: add a way to add serializers in projects that are implementing this class
1 parent 9364765 commit e00507a

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

plugin-shared/src/main/kotlin/app/simplecloud/plugin/api/shared/repository/YamlDirectoryRepository.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import kotlinx.coroutines.*
44
import org.spongepowered.configurate.ConfigurationOptions
55
import org.spongepowered.configurate.kotlin.objectMapperFactory
66
import org.spongepowered.configurate.loader.ParsingException
7+
import org.spongepowered.configurate.serialize.TypeSerializerCollection
78
import org.spongepowered.configurate.yaml.NodeStyle
89
import org.spongepowered.configurate.yaml.YamlConfigurationLoader
910
import java.io.File
@@ -79,6 +80,8 @@ abstract class YamlDirectoryRepository<I, E>(
7980

8081
open fun watchUpdateEvent(file: File) {}
8182

83+
protected abstract fun addSerializers(builder: TypeSerializerCollection.Builder)
84+
8285
private fun getOrCreateLoader(file: File): YamlConfigurationLoader {
8386
return loaders.getOrPut(file) {
8487
YamlConfigurationLoader.builder()
@@ -88,6 +91,7 @@ abstract class YamlDirectoryRepository<I, E>(
8891
options.serializers { builder ->
8992
builder.registerAnnotatedObjects(objectMapperFactory())
9093
builder.register(Enum::class.java, GenericEnumSerializer)
94+
addSerializers(builder)
9195
}
9296
}.build()
9397
}

0 commit comments

Comments
 (0)