Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 0.99 KB | None | 0 0
  1. data class Room(
  2.         val id: String,
  3.         val createdById: String,
  4.         var name: String,
  5.         @SerializedName("private")
  6.         var isPrivate: Boolean,
  7.         var customData: CustomData?,
  8.         val createdAt: String,
  9.         var updatedAt: String,
  10.         var deletedAt: String
  11. ) {
  12.     @SerializedName("member_user_ids")
  13.     private var _memberUserIds: MutableSet<String>? = null
  14.     val memberUserIds: Set<String>
  15.         get() = memberUserIds()
  16.  
  17.     private fun memberUserIds(): MutableSet<String> = _memberUserIds
  18.             ?: mutableSetOf<String>().also { _memberUserIds = it }
  19.  
  20.     fun removeUser(userId: String) {
  21.         memberUserIds() -= userId
  22.     }
  23.  
  24.     fun addUser(userId: String) {
  25.         memberUserIds() += userId
  26.     }
  27.  
  28.     override fun equals(other: Any?) = (other is Room) && other.id == this.id
  29.  
  30.     fun deepEquals(room: Room) =
  31.             room.name == this.name && room.customData == this.customData && room.isPrivate == this.isPrivate
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement