/*
* 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;
}
}