/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.example.github.vo; import com.google.gson.annotations.SerializedName; import android.arch.persistence.room.Entity; import android.arch.persistence.room.ForeignKey; @Entity(primaryKeys = {"repoName", "repoOwner", "login"}, foreignKeys = @ForeignKey(entity = Repo.class, parentColumns = {"name", "owner_login"}, childColumns = {"repoName", "repoOwner"}, onUpdate = ForeignKey.CASCADE, deferred = true)) public class Contributor { @SerializedName("login") private final String login; @SerializedName("contributions") private final int contributions; @SerializedName("avatar_url") private final String avatarUrl; private String repoName; private String repoOwner; public Contributor(String login, int contributions, String avatarUrl) { this.login = login; this.contributions = contributions; this.avatarUrl = avatarUrl; } public void setRepoName(String repoName) { this.repoName = repoName; } public void setRepoOwner(String repoOwner) { this.repoOwner = repoOwner; } public String getLogin() { return login; } public int getContributions() { return contributions; } public String getAvatarUrl() { return avatarUrl; } public String getRepoName() { return repoName; } public String getRepoOwner() { return repoOwner; } }