package com.plkpiotr.forum.entities; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EntityListeners; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Optional; @Entity @EntityListeners(AuditingEntityListener.class) @Table(name = "topic") public class Topic { @Id @GeneratedValue private Long id; @Column(nullable = false, length = 32) private String title; @Column(nullable = false, length = 1024) private String content; @Column(nullable = false, length = 16) private String category; private LocalDateTime createdDate; @Column(length = 1024) private String code; @ManyToOne @JoinColumn(name = "id_user") private User user; @OneToMany(mappedBy = "topic") private List<Answer> answers; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public LocalDateTime getCreatedDate() { return createdDate; } public void setCreatedDate(LocalDateTime createdDate) { this.createdDate = createdDate; } public Optional getCode() { return Optional.ofNullable(code); } public void setCode(String code) { this.code = code; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public List<Answer> getAnswers() { return answers; } public void setAnswers(List<Answer> answers) { this.answers = answers; } public String displayParsedCreatedDate() { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm - dd.MM.yyyy"); return this.createdDate.format(formatter); } public String displayCode() { if (Optional.ofNullable(code).isPresent()) return Optional.ofNullable(code).get(); else return ""; } }