be.personify.iam.model.util.Persisted Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of personify-model Show documentation
Show all versions of personify-model Show documentation
a possible model for personify
package be.personify.iam.model.util;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@MappedSuperclass
public class Persisted implements Serializable{
public static final long serialVersionUID = 4370674456316231594L;
@PrePersist
private void setDates() {
if ( creationDate == null ) {
creationDate = new Date();
}
else {
modificationDate = new Date();
}
}
@PreUpdate
private void setUpdateDates() {
modificationDate = new Date();
}
@Column(columnDefinition="DATETIME")
@Temporal(TemporalType.TIMESTAMP)
private Date creationDate;
private String createdBy;
@Column(columnDefinition="DATETIME")
@Temporal(TemporalType.TIMESTAMP)
private Date modificationDate;
private String modifiedBy;
public Date getCreationDate() {
return creationDate;
}
protected void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
}
public String getCreatedBy() {
return createdBy;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
public Date getModificationDate() {
return modificationDate;
}
protected void setModificationDate(Date modificationDate) {
this.modificationDate = modificationDate;
}
public String getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(String modifiedBy) {
this.modifiedBy = modifiedBy;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((createdBy == null) ? 0 : createdBy.hashCode());
result = prime * result + ((creationDate == null) ? 0 : creationDate.hashCode());
result = prime * result + ((modificationDate == null) ? 0 : modificationDate.hashCode());
result = prime * result + ((modifiedBy == null) ? 0 : modifiedBy.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Persisted other = (Persisted) obj;
if (createdBy == null) {
if (other.createdBy != null)
return false;
} else if (!createdBy.equals(other.createdBy))
return false;
if (creationDate == null) {
if (other.creationDate != null)
return false;
} else if (!creationDate.equals(other.creationDate))
return false;
if (modificationDate == null) {
if (other.modificationDate != null)
return false;
} else if (!modificationDate.equals(other.modificationDate))
return false;
if (modifiedBy == null) {
if (other.modifiedBy != null)
return false;
} else if (!modifiedBy.equals(other.modifiedBy))
return false;
return true;
}
}