Project

General

Profile

1
package eu.dnetlib.enabling.datasources.common;
2

    
3
import java.io.Serializable;
4
import java.util.Objects;
5

    
6
import com.google.common.collect.ComparisonChain;
7

    
8
/**
9
 * Created by claudio on 13/04/2017.
10
 */
11

    
12
public class ApiParamKey implements Serializable {
13

    
14
	/**
15
	 * 
16
	 */
17
	private static final long serialVersionUID = 1640636806392015938L;
18

    
19
	private Api api = null;
20

    
21
	private String param;
22

    
23
	public ApiParamKey() {}
24

    
25
	public String getParam() {
26
		return param;
27
	}
28

    
29
	public ApiParamKey setParam(final String param) {
30
		this.param = param;
31
		return this;
32
	}
33

    
34
	public Api getApi() {
35
		return api;
36
	}
37

    
38
	public void setApi(final Api api) {
39
		this.api = api;
40
	}
41

    
42
	public int hashCode() {
43
		return Objects.hash(getParam(), getApi().getId());
44
	}
45

    
46
	@Override
47
	public boolean equals(final Object o) {
48
		if (this == o) { return true; }
49
		if (o == null || getClass() != o.getClass()) { return false; }
50
		ApiParamKey apk = (ApiParamKey) o;
51
		return ComparisonChain.start()
52
				.compare(getParam(), apk.getParam())
53
				.compare(getApi(), apk.getApi())
54
				.result() == 0;
55
	}
56

    
57
}
(5-5/14)