Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.josue.lottery.eap.persistence.entity.rest; import java.io.Serializable; import java.sql.Timestamp; import java.util.Date; import java.util.UUID; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.MappedSuperclass; import javax.persistence.PrePersist; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; import org.apache.commons.lang3.StringUtils; @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) @MappedSuperclass public class Resource implements Serializable { @Id private String uuid; @Transient private String href; @Column(name = "date_created") @Temporal(TemporalType.TIMESTAMP) private Date dateCreated; @Column(name = "date_updated") @Temporal(TemporalType.TIMESTAMP) private Date dateUpdated; @PrePersist public void generateUuid() { if (StringUtils.isBlank(uuid)) { this.uuid = UUID.randomUUID().toString(); this.dateCreated = new Timestamp(new Date().getTime()); } else { this.dateUpdated = new Timestamp(new Date().getTime()); } } public static Resource fromHref(String href) { Resource res = new Resource(); res.setHref(href); return res; } public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public Date getDateCreated() { return dateCreated; } public void setDateCreated(Date dateCreated) { this.dateCreated = new Timestamp(dateCreated.getTime()); } public Date getDateUpdated() { return dateUpdated; } public void setDateUpdated(Date dateUpdated) { this.dateUpdated = new Timestamp(dateUpdated.getTime()); } public String getHref() { return href; } public void setHref(String href) { this.href = href; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((uuid == null) ? 0 : uuid.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; Resource other = (Resource) obj; if (uuid == null) { if (other.uuid != null) return false; } else if (!uuid.equals(other.uuid)) return false; return true; } }