Project

General

Profile

1
package eu.dnetlib.enabling.is.hib.objects;
2

    
3
import java.io.Serializable;
4

    
5
import javax.persistence.Column;
6
import javax.persistence.Embeddable;
7
import javax.persistence.JoinColumn;
8
import javax.persistence.ManyToOne;
9
import javax.persistence.Transient;
10

    
11
import org.apache.commons.lang.builder.EqualsBuilder;
12
import org.apache.commons.lang.builder.HashCodeBuilder;
13

    
14
@Embeddable
15
public class HibDnetResourcePropertyId implements Serializable {
16

    
17
	/**
18
	 * 
19
	 */
20
	@Transient
21
	private static final long serialVersionUID = 8985455596933025660L;
22

    
23
	@ManyToOne
24
	@JoinColumn(name = "service", nullable = false)
25
	private HibService service;
26

    
27
	@Column(name = "name", nullable = false)
28
	private String name;
29

    
30
	public HibDnetResourcePropertyId() {}
31

    
32
	public HibDnetResourcePropertyId(final HibService service, final String name) {
33
		this.service = service;
34
		this.name = name;
35
	}
36

    
37
	public HibService getService() {
38
		return service;
39
	}
40

    
41
	public void setService(final HibService service) {
42
		this.service = service;
43
	}
44

    
45
	public String getName() {
46
		return name;
47
	}
48

    
49
	public void setName(final String name) {
50
		this.name = name;
51
	}
52

    
53
	@Override
54
	public boolean equals(final Object obj) {
55
		if (obj == this) {
56
			return true;
57
		} else if (obj instanceof HibDnetResourcePropertyId) {
58
			final HibDnetResourcePropertyId spi = (HibDnetResourcePropertyId) obj;
59
			return new EqualsBuilder().append(name, spi.name).append(service, spi.service).isEquals();
60
		} else {
61
			return false;
62
		}
63
	}
64

    
65
	@Override
66
	public int hashCode() {
67
		return new HashCodeBuilder().append(name).append(service.getId()).toHashCode();
68
	}
69
}
(6-6/12)