Fixed bug with directories, that should be scanned for annotations
[hibernate4-maven-plugin] / src / it / hmp-testclasses-annotationscanning / src / main / java / net / java / examples / hmp / model / domain / BaseEntity.java
1 package net.java.examples.hmp.model.domain;\r
2 \r
3 import java.io.Serializable;\r
4 \r
5 import org.hibernate.proxy.HibernateProxy;\r
6 \r
7 public abstract class BaseEntity<T extends Serializable> implements IBaseEntity<T>, Serializable {\r
8 \r
9     private static final long serialVersionUID = -5828097391861473323L;\r
10 \r
11     /**\r
12      * {@inheritDoc}\r
13      */\r
14     @Override\r
15     public int hashCode() {\r
16         int result;\r
17         if (getId() == null) {\r
18             result = super.hashCode();\r
19         } else {\r
20             final int prime = 31;\r
21             result = 1;\r
22             result = prime * result + ((getId() == null) ? 0 : getId().hashCode());\r
23         }\r
24         return result;\r
25     }\r
26 \r
27     @Override\r
28     public boolean equals(final Object obj) {\r
29         if (this == obj) {\r
30             return true;\r
31         }\r
32         if (obj == null) {\r
33             return false;\r
34         }\r
35 \r
36         Class<?> otherClass = null;\r
37         if (obj instanceof HibernateProxy) {\r
38             otherClass = ((HibernateProxy) obj).getHibernateLazyInitializer().getPersistentClass();\r
39         } else {\r
40             otherClass = obj.getClass();\r
41         }\r
42         if (getClass() != otherClass) {\r
43             return false;\r
44         }\r
45 \r
46         return compareEqualityWithThisInstance((BaseEntity<?>) obj);\r
47     }\r
48 \r
49     private boolean compareEqualityWithThisInstance(BaseEntity<?> otherEntity) {\r
50         if (getId() != null) {\r
51             return getId().equals(otherEntity.getId());\r
52         }\r
53 \r
54         return false;\r
55     }\r
56 \r
57     @Override\r
58     public String toString() {\r
59         return this.getClass().getName() + "[id=" + getId() + "]";\r
60     }\r
61 }\r