Convert all built-in permission services from singleton to instances

This commit is contained in:
Him188 2021-12-26 18:56:09 +00:00
parent 9930fc7ed1
commit 1b0f30c4bf
2 changed files with 4 additions and 4 deletions

View File

@ -26,7 +26,7 @@ public interface PermissionServiceProvider : SingletonExtension<PermissionServic
public companion object ExtensionPoint :
AbstractSingletonExtensionPoint<PermissionServiceProvider, PermissionService<*>>(
PermissionServiceProvider::class,
{ BuiltInPermissionService }
{ BuiltInPermissionService() }
) {
internal var permissionServiceOk = false

View File

@ -31,7 +31,7 @@ internal fun PermissionService<*>.checkType(permissionType: KClass<out Permissio
return this as PermissionService<Permission>
}
internal object AllPermitPermissionService : PermissionService<PermissionImpl> {
internal class AllPermitPermissionService : PermissionService<PermissionImpl> {
private val all = ConcurrentHashMap<PermissionId, PermissionImpl>()
override val permissionType: KClass<PermissionImpl> get() = PermissionImpl::class
override val rootPermission: PermissionImpl get() = RootPermissionImpl.also { all[it.id] = it }
@ -65,7 +65,7 @@ internal object AllPermitPermissionService : PermissionService<PermissionImpl> {
@Suppress("DEPRECATION")
private val RootPermissionImpl = PermissionImpl(PermissionId("*", "*"), "The root permission").also { it.parent = it }
internal object AllDenyPermissionService : PermissionService<PermissionImpl> {
internal class AllDenyPermissionService : PermissionService<PermissionImpl> {
private val all = ConcurrentHashMap<PermissionId, PermissionImpl>()
override val permissionType: KClass<PermissionImpl>
get() = PermissionImpl::class
@ -97,7 +97,7 @@ internal object AllDenyPermissionService : PermissionService<PermissionImpl> {
}
}
internal object BuiltInPermissionService : AbstractConcurrentPermissionService<PermissionImpl>(),
internal class BuiltInPermissionService : AbstractConcurrentPermissionService<PermissionImpl>(),
PermissionService<PermissionImpl> {
override val permissionType: KClass<PermissionImpl>