diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/Privilege.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/Privilege.kt | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/Privilege.kt b/src/main/kotlin/io/dico/parcels2/Privilege.kt index bc16f77..7949dbc 100644 --- a/src/main/kotlin/io/dico/parcels2/Privilege.kt +++ b/src/main/kotlin/io/dico/parcels2/Privilege.kt @@ -66,7 +66,7 @@ interface RawPrivileges { open class PrivilegesHolder(override var privilegeMap: MutablePrivilegeMap = EmptyPrivilegeMap) : RawPrivileges { private var _privilegeOfStar: Privilege = DEFAULT - override var privilegeOfStar: Privilege + override /*open*/ var privilegeOfStar: Privilege get() = _privilegeOfStar set(value) = run { _privilegeOfStar = value } @@ -94,5 +94,10 @@ open class PrivilegesHolder(override var privilegeMap: MutablePrivilegeMap = Emp return if (privilege == DEFAULT) privilegeMap.remove(key) != null else privilegeMap.put(key, privilege) != privilege } + + fun copyPrivilegesFrom(other: PrivilegesHolder) { + privilegeMap = other.privilegeMap + privilegeOfStar = other.privilegeOfStar + } } |