Не совсем уверен, что это правильный ответ на ваш вопрос, но я думаю, что закрытый класс может вам помочь. По сути, вы можете определить MutableUser
(Пользователь или строка), и каждый подкласс MutableUser должен реализовывать Parcelable
.
sealed class MutableUser : Parcelable {
@Parcelize
class UserAttribute(val user: User) : MutableUser()
@Parcelize
class SimpleAttribute(val userId: String) : MutableUser()
}
Затем вы можете использовать это MutableUser
в вашей модели данных автомобиля, как показано ниже:
@Parcelize
data class Car(
val createdAt: String? = "",
val updatedAt: String? = "",
val id: String? = "",
val name: String? = "",
val user: MutableUser
) : Parcelable