Project

General

Profile

Download (1.23 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.remoting.cache;
2

    
3
import eu.etaxonomy.cdm.model.common.CdmBase;
4

    
5
public class CdmEntityCacheKey {
6

    
7
	private Class<? extends CdmBase> persistenceClass;
8
	private int persistenceId;
9
	
10
	public CdmEntityCacheKey(CdmBase cdmBase) {
11
		this.persistenceClass = cdmBase.getClass();
12
		this.persistenceId = cdmBase.getId();
13
	}
14
	
15
	public CdmEntityCacheKey(Class<? extends CdmBase> clazz, int id) {
16
		this.persistenceClass = clazz;
17
		this.persistenceId = id;
18
	}
19
	
20

    
21
	
22
	public Class<? extends CdmBase> getPersistenceClass() {
23
		return persistenceClass;
24
	}
25
	
26
	public int getPersistenceId() {
27
		return persistenceId;
28
	}
29
	@Override
30
	public boolean equals(Object obj) {
31
		if(obj == null || !(obj instanceof CdmEntityCacheKey)) {
32
			return false;
33
		}
34
		
35
		if(this == obj) {
36
			return true;
37
		}
38
		CdmEntityCacheKey that = (CdmEntityCacheKey) obj;
39
		if(this.persistenceClass.equals(that.persistenceClass) && this.persistenceId == that.persistenceId) {
40
			return true;
41
		}
42
		
43
		return false;
44
	}
45
	
46
	@Override
47
	public int hashCode() {
48
		return (this.persistenceClass.getName() + String.valueOf(this.persistenceId)).hashCode();
49
	}
50
	
51
	@Override
52
	public String toString() {
53
		return this.persistenceClass.getName() + String.valueOf(this.persistenceId);
54
	}
55

    
56
}
(3-3/9)