89016b5d1f67733bfff37ab0c42d7e15eb9d6839
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / view / AuditEvent.java
1 package eu.etaxonomy.cdm.model.view;
2
3 import java.util.UUID;
4
5 import javax.persistence.Entity;
6 import javax.persistence.GeneratedValue;
7 import javax.persistence.Id;
8
9 import org.hibernate.annotations.Type;
10 import org.hibernate.envers.RevisionEntity;
11 import org.hibernate.envers.RevisionNumber;
12 import org.hibernate.envers.RevisionTimestamp;
13
14 @Entity
15 @RevisionEntity
16 public class AuditEvent {
17 public static final AuditEvent CURRENT_VIEW;
18
19 static {
20 CURRENT_VIEW = new AuditEvent();
21 CURRENT_VIEW.setUuid(UUID.fromString("966728f0-ae51-11dd-ad8b-0800200c9a66"));
22 };
23
24 @Type(type="uuidUserType")
25 private UUID uuid;
26
27 public AuditEvent() {
28 this.uuid = UUID.randomUUID();
29 }
30
31 @Id
32 @GeneratedValue
33 @RevisionNumber
34 private Integer revisionNumber;
35
36 @RevisionTimestamp
37 private Long timestamp;
38
39 public Integer getRevisionNumber() {
40 return revisionNumber;
41 }
42
43 public void setUuid(UUID uuid) {
44 this.uuid = uuid;
45 }
46
47 public boolean equals(Object obj) {
48 if(this == obj)
49 return true;
50
51 if((obj == null) || (obj.getClass() != this.getClass()))
52 return false;
53
54 AuditEvent auditEvent = (AuditEvent) obj;
55 return uuid == auditEvent.uuid || (uuid != null && uuid.equals(auditEvent.uuid));
56 }
57
58 public int hashCode() {
59 int hash = 7;
60 hash = 31 * hash + (null == uuid ? 0 : uuid.hashCode());
61 return hash;
62 }
63
64 public void setRevisionNumber(Integer revisionNumber) {
65 this.revisionNumber = revisionNumber;
66 }
67 }