From f2d88b3c54c83f1b826ebb3e483c599b64ad39bf Mon Sep 17 00:00:00 2001 From: Dico Date: Mon, 24 Sep 2018 09:01:04 +0100 Subject: Remove privilegesOfStar exposure --- src/main/kotlin/io/dico/parcels2/Privilege.kt | 14 ++++++-------- .../parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt | 2 +- src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt | 10 +++------- .../io/dico/parcels2/storage/exposed/ExposedBacking.kt | 4 ++-- 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/main/kotlin/io/dico/parcels2/Privilege.kt b/src/main/kotlin/io/dico/parcels2/Privilege.kt index 0eebe25..040e5f5 100644 --- a/src/main/kotlin/io/dico/parcels2/Privilege.kt +++ b/src/main/kotlin/io/dico/parcels2/Privilege.kt @@ -64,8 +64,7 @@ typealias PrivilegeMap = Map fun MutablePrivilegeMap(): MutablePrivilegeMap = hashMapOf() interface PrivilegesMinimal { - val map: PrivilegeMap - var privilegeOfStar: Privilege + val privilegeMap: PrivilegeMap fun getStoredPrivilege(key: PrivilegeKey): Privilege fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean @@ -120,13 +119,12 @@ enum class PrivilegeChangeResult { val OfflinePlayer.privilegeKey: PrivilegeKey inline get() = PlayerProfile.nameless(this) -open class PrivilegesHolder(override var map: MutablePrivilegeMap = MutablePrivilegeMap()) : PrivilegesMinimal { - override var privilegeOfStar: Privilege = DEFAULT - set(value) = run { field = value.requireNonTransient() } +open class PrivilegesHolder(override var privilegeMap: MutablePrivilegeMap = MutablePrivilegeMap()) : PrivilegesMinimal { + private var privilegeOfStar: Privilege = DEFAULT override fun getStoredPrivilege(key: PrivilegeKey) = if (key.isStar) privilegeOfStar - else map.getOrDefault(key, privilegeOfStar) + else privilegeMap.getOrDefault(key, privilegeOfStar) override fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean { privilege.requireNonTransient() @@ -137,8 +135,8 @@ open class PrivilegesHolder(override var map: MutablePrivilegeMap = MutablePrivi return true } - return if (privilege == DEFAULT) map.remove(key) != null - else map.put(key, privilege) != privilege + return if (privilege == DEFAULT) privilegeMap.remove(key) != null + else privilegeMap.put(key, privilege) != privilege } } diff --git a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt index 5f8c4be..2324fac 100644 --- a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt +++ b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt @@ -18,7 +18,7 @@ class GlobalPrivilegesManagerImpl(val plugin: ParcelsPlugin) : GlobalPrivilegesM data: MutablePrivilegeMap = emptyData ) : PrivilegesHolder(data), GlobalPrivileges { - private inline var data get() = map; set(value) = run { map = value } + private inline var data get() = privilegeMap; set(value) = run { privilegeMap = value } private inline val isEmpty get() = data === emptyData override fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean { diff --git a/src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt b/src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt index d8dd3a8..bfaeb09 100644 --- a/src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt +++ b/src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt @@ -36,7 +36,7 @@ class ParcelImpl( world.storage.setParcelData(this, null) } - override val map: PrivilegeMap get() = data.map + override val privilegeMap: PrivilegeMap get() = data.privilegeMap override fun getStoredPrivilege(key: PrivilegeKey) = data.getStoredPrivilege(key) override fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean { @@ -51,10 +51,6 @@ class ParcelImpl( else privilege } - override var privilegeOfStar: Privilege - get() = data.privilegeOfStar.let { if (it == DEFAULT) globalPrivileges?.privilegeOfStar ?: DEFAULT else it } - set(value) = run { setStoredPrivilege(PlayerProfile.Star, value) } - override val globalPrivileges: GlobalPrivileges? get() = keyOfOwner?.let { world.globalPrivileges[it] } @@ -223,8 +219,8 @@ private object ParcelInfoStringComputer { append('\n') - val local = parcel.map - val global = parcel.globalPrivileges?.map ?: emptyMap() + val local = parcel.privilegeMap + val global = parcel.globalPrivileges?.privilegeMap ?: emptyMap() appendAddedList(local, global, CAN_BUILD, "Allowed") // includes CAN_MANAGE privilege append('\n') appendAddedList(local, global, BANNED, "Banned") diff --git a/src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt b/src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt index 4c88c11..d0b1296 100644 --- a/src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt +++ b/src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt @@ -189,7 +189,7 @@ class ExposedBacking(private val dataSourceFactory: () -> DataSource, val poolSi setParcelOwner(parcel, data.owner) - for ((profile, privilege) in data.map) { + for ((profile, privilege) in data.privilegeMap) { PrivilegesLocalT.setPrivilege(parcel, profile, privilege) } @@ -267,7 +267,7 @@ class ExposedBacking(private val dataSourceFactory: () -> DataSource, val poolSi System.arraycopy(source, 0, target, 0, source.size.clampMax(target.size)) } - map = PrivilegesLocalT.readPrivileges(id) + privilegeMap = PrivilegesLocalT.readPrivileges(id) } } -- cgit v1.2.3