package eu.dnetlib.goldoa.domain;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.google.gwt.user.client.rpc.IsSerializable;

import javax.persistence.ManyToOne;
import java.io.Serializable;

/**
 * Created by panagiotis on 25/1/2017.
 */
public class RequestCoFunderPK implements IsSerializable, Serializable {

    private static final long serialVersionUID = 1L;

    @ManyToOne
    @JsonBackReference(value = "request")
    private Request request;
    @ManyToOne
    private Funder funder;

    public Request getRequest() {
        return request;
    }

    public void setRequest(Request request) {
        this.request = request;
    }

    public Funder getFunder() {
        return funder;
    }

    public void setFunder(Funder funder) {
        this.funder = funder;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        RequestCoFunderPK that = (RequestCoFunderPK) o;

        if (request != null ? !request.equals(that.request) : that.request != null) return false;
        return funder != null ? funder.equals(that.funder) : that.funder == null;
    }

    @Override
    public int hashCode() {
        int result = request != null ? request.hashCode() : 0;
        result = 31 * result + (funder != null ? funder.hashCode() : 0);
        return result;
    }
}
