You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
2.7 KiB
128 lines
2.7 KiB
package de.kreth.clubhelper.model.data;
|
|
|
|
import java.util.Date;
|
|
|
|
import javax.persistence.GeneratedValue;
|
|
import javax.persistence.GenerationType;
|
|
import javax.persistence.Id;
|
|
import javax.persistence.MappedSuperclass;
|
|
import javax.persistence.Temporal;
|
|
import javax.persistence.TemporalType;
|
|
|
|
@MappedSuperclass
|
|
public abstract class BaseEntity implements EntityAccessor {
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private int id;
|
|
|
|
@Temporal(TemporalType.TIMESTAMP)
|
|
private Date changed;
|
|
|
|
@Temporal(TemporalType.TIMESTAMP)
|
|
private Date created;
|
|
|
|
@Temporal(TemporalType.TIMESTAMP)
|
|
private Date deleted;
|
|
|
|
public Date getChanged() {
|
|
if (changed == null) {
|
|
return null;
|
|
}
|
|
return new Date(this.changed.getTime());
|
|
}
|
|
|
|
@Override
|
|
public void setChanged(Date changed) {
|
|
this.changed = new Date(changed.getTime());
|
|
}
|
|
|
|
public Date getCreated() {
|
|
if (created == null) {
|
|
return null;
|
|
}
|
|
return new Date(this.created.getTime());
|
|
}
|
|
|
|
@Override
|
|
public void setCreated(Date created) {
|
|
this.created = new Date(created.getTime());
|
|
}
|
|
|
|
public Date getDeleted() {
|
|
if (deleted == null) {
|
|
return null;
|
|
}
|
|
return new Date(this.deleted.getTime());
|
|
}
|
|
|
|
public void setDeleted(Date deleted) {
|
|
this.deleted = new Date(deleted.getTime());
|
|
}
|
|
|
|
@Override
|
|
public Integer getId() {
|
|
return id;
|
|
}
|
|
|
|
public void setId(int id) {
|
|
this.id = id;
|
|
}
|
|
|
|
@Override
|
|
public boolean hasValidId() {
|
|
return id > 0;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
final int prime = 31;
|
|
int result = 1;
|
|
result = prime * result + ((changed == null) ? 0 : changed.hashCode());
|
|
result = prime * result + ((created == null) ? 0 : created.hashCode());
|
|
result = prime * result + ((deleted == null) ? 0 : deleted.hashCode());
|
|
result = prime * result + id;
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (obj == null) {
|
|
return false;
|
|
}
|
|
if (getClass() != obj.getClass()) {
|
|
return false;
|
|
}
|
|
BaseEntity other = (BaseEntity) obj;
|
|
if (deleted == null) {
|
|
if (other.deleted != null) {
|
|
return false;
|
|
}
|
|
} else if (!deleted.equals(other.deleted)) {
|
|
return false;
|
|
}
|
|
if (id != other.id) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
stringBuilder.append("BaseEntity [id=");
|
|
stringBuilder.append(id);
|
|
stringBuilder.append(", changed=");
|
|
stringBuilder.append(changed);
|
|
if (deleted != null) {
|
|
stringBuilder.append(", deleted=");
|
|
stringBuilder.append(deleted);
|
|
}
|
|
stringBuilder.append("]");
|
|
return stringBuilder.toString();
|
|
}
|
|
|
|
}
|
|
|