From 5ba028de3c19e1413a156da47d97b1912888a216 Mon Sep 17 00:00:00 2001 From: Carlos Martinez Date: Sun, 2 Feb 2020 11:14:47 -0300 Subject: [PATCH] create POJO --- .../friendlist/feature/UserlistFragment.kt | 4 ++ .../com/hako/friendlist/model/UserModels.kt | 44 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 userlist/src/main/java/com/hako/friendlist/feature/UserlistFragment.kt create mode 100644 userlist/src/main/java/com/hako/friendlist/model/UserModels.kt diff --git a/userlist/src/main/java/com/hako/friendlist/feature/UserlistFragment.kt b/userlist/src/main/java/com/hako/friendlist/feature/UserlistFragment.kt new file mode 100644 index 0000000..509c2e1 --- /dev/null +++ b/userlist/src/main/java/com/hako/friendlist/feature/UserlistFragment.kt @@ -0,0 +1,4 @@ +package com.hako.friendlist.feature + +class UserlistFragment { +} \ No newline at end of file diff --git a/userlist/src/main/java/com/hako/friendlist/model/UserModels.kt b/userlist/src/main/java/com/hako/friendlist/model/UserModels.kt new file mode 100644 index 0000000..f2d3428 --- /dev/null +++ b/userlist/src/main/java/com/hako/friendlist/model/UserModels.kt @@ -0,0 +1,44 @@ +package com.hako.friendlist.model + +import android.os.Parcelable +import com.google.gson.annotations.SerializedName +import kotlinx.android.parcel.Parcelize + +@Parcelize +data class User( + @SerializedName("id") val id: Int, + @SerializedName("name") val realName: String, + @SerializedName("username") val userName: String, + @SerializedName("email") val email: String, + @SerializedName("amount") val balance: Address, + @SerializedName("phone") val phone: String, + @SerializedName("website") val website: String, + @SerializedName("company") val company: Company +) : Parcelable { + + @Parcelize + data class Address( + @SerializedName("street") val street: String, + @SerializedName("suite") val realName: String, + @SerializedName("city") val userName: String, + @SerializedName("zipcode") val email: String, + @SerializedName("geo") val geoLocation: GeoLocation + ) : Parcelable { + + @Parcelize + data class GeoLocation( + @SerializedName("lat") val latitude: String, + @SerializedName("lng") val longitude: String + ) : Parcelable + } + + @Parcelize + data class Company( + @SerializedName("name") val name: String, + @SerializedName("catchPhrase") val catchPhrase: String, + @SerializedName("bs") val keywords: String + ) : Parcelable { + fun getKeywordList() = keywords.split(" ") + } +} +