package fi.otavanopisto.muikku.model.users; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.ManyToOne; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Version; import javax.validation.constraints.NotNull; import fi.otavanopisto.muikku.model.base.SchoolDataSource; import fi.otavanopisto.muikku.model.util.ArchivableEntity; import fi.otavanopisto.security.ContextReference; import fi.otavanopisto.security.User; @Entity @Inheritance(strategy=InheritanceType.JOINED) public class UserEntity implements ArchivableEntity, User, ContextReference { public Long getId() { return id; } public Boolean getArchived() { return archived; } public void setArchived(Boolean archived) { this.archived = archived; } public Date getLastLogin() { return lastLogin; } public void setLastLogin(Date lastLogin) { this.lastLogin = lastLogin; } public String getLocale() { return locale; } public void setLocale(String locale) { this.locale = locale; } public String getDefaultIdentifier() { return defaultIdentifier; } public void setDefaultIdentifier(String defaultIdentifier) { this.defaultIdentifier = defaultIdentifier; } public SchoolDataSource getDefaultSchoolDataSource() { return defaultSchoolDataSource; } public void setDefaultSchoolDataSource(SchoolDataSource defaultSchoolDataSource) { this.defaultSchoolDataSource = defaultSchoolDataSource; } public Long getVersion() { return version; } public void setVersion(Long version) { this.version = version; } public void setUpdatedByStudent(Boolean updatedByStudent) { this.updatedByStudent = updatedByStudent; } public Boolean getUpdatedByStudent() { return updatedByStudent; } @Id @GeneratedValue (strategy = GenerationType.IDENTITY) private Long id; @NotNull @Column(nullable = false) private Boolean archived = Boolean.FALSE; @NotNull @Column(nullable = false) private Boolean updatedByStudent = Boolean.FALSE; @Temporal (value=TemporalType.TIMESTAMP) private Date lastLogin; @Column (length = 8) private String locale; private String defaultIdentifier; @ManyToOne private SchoolDataSource defaultSchoolDataSource; @Version @Column(nullable = false) private Long version; }