74e543cef05a5914c6d91ebe21b62ac7e6e6f83b
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / taxeditor / remoting / cache / CdmEntityCacheKey.java
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 }