package edu.asu.spring.quadriga.dto; import java.io.Serializable; import java.util.Date; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.EmbeddedId; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.MappedSuperclass; import javax.persistence.Temporal; import javax.persistence.TemporalType; @MappedSuperclass public abstract class CollaboratorDTO<T extends CollaboratorDTOPK, V extends CollaboratorDTO<T, V>> implements Serializable { /** * */ private static final long serialVersionUID = 4418739052537728672L; @Basic(optional = false) @Column(name = "updatedby") protected String updatedby; @Basic(optional = false) @Column(name = "updateddate") @Temporal(TemporalType.TIMESTAMP) protected Date updateddate; @Basic(optional = false) @Column(name = "createdby") protected String createdby; @Basic(optional = false) @Column(name = "createddate") @Temporal(TemporalType.TIMESTAMP) protected Date createddate; @JoinColumn(name = "collaboratoruser", referencedColumnName = "username", insertable = false, updatable = false) @ManyToOne(optional = false) protected QuadrigaUserDTO quadrigaUserDTO; @EmbeddedId protected T collaboratorDTOPK; public T getCollaboratorDTOPK() { return collaboratorDTOPK; } public void setCollaboratorDTOPK(T projectCollaboratorDTOPK) { this.collaboratorDTOPK = projectCollaboratorDTOPK; } public String getUpdatedby() { return updatedby; } public void setUpdatedby(String updatedby) { this.updatedby = updatedby; } public Date getUpdateddate() { return updateddate; } public void setUpdateddate(Date updateddate) { this.updateddate = updateddate; } public String getCreatedby() { return createdby; } public void setCreatedby(String createdby) { this.createdby = createdby; } public Date getCreateddate() { return createddate; } public void setCreateddate(Date createddate) { this.createddate = createddate; } public QuadrigaUserDTO getQuadrigaUserDTO() { return quadrigaUserDTO; } public void setQuadrigaUserDTO(QuadrigaUserDTO quadrigaUserDTO) { this.quadrigaUserDTO = quadrigaUserDTO; } public abstract void setRelatedDTO(CollaboratingDTO<T, V> relatedDto); }