🎨 Specify types of locks explicitely
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 5 Aug 2020 20:28:15 +0000 (22:28 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 6 Aug 2020 09:26:00 +0000 (11:26 +0200)
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryDatabase.kt

index d48ef1e..ad7ab07 100644 (file)
@@ -47,6 +47,8 @@ import net.pterodactylus.sone.utils.unit
 import net.pterodactylus.util.config.Configuration
 import net.pterodactylus.util.config.ConfigurationException
 import java.util.concurrent.locks.ReentrantReadWriteLock
+import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock
+import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock
 import kotlin.concurrent.withLock
 
 /**
@@ -56,8 +58,8 @@ import kotlin.concurrent.withLock
 class MemoryDatabase @Inject constructor(private val configuration: Configuration) : AbstractService(), Database {
 
        private val lock = ReentrantReadWriteLock()
-       private val readLock by lazy { lock.readLock()!! }
-       private val writeLock by lazy { lock.writeLock()!! }
+       private val readLock: ReadLock by lazy { lock.readLock() }
+       private val writeLock: WriteLock by lazy { lock.writeLock() }
        private val configurationLoader = ConfigurationLoader(configuration)
        private val allSones = mutableMapOf<String, Sone>()
        private val allPosts = mutableMapOf<String, Post>()