blob: 7f6ed3beae34beaf9c061c56f2498dba46d43697 [file] [log] [blame]
Matthias Andreas Benkarde28673d2020-02-09 10:51:24 +01001package eu.mulk.mulkcms2.benki.lazychat;
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +01002
Matthias Andreas Benkard4940b292020-03-29 18:41:07 +02003import eu.mulk.mulkcms2.benki.posts.Post;
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +01004import java.util.Collection;
Matthias Andreas Benkardf5999552020-03-22 06:52:06 +01005import javax.annotation.CheckForNull;
Matthias Andreas Benkard06e6c812020-04-13 17:01:35 +02006import javax.json.bind.annotation.JsonbTransient;
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +01007import javax.persistence.Entity;
Matthias Andreas Benkarda3661f12021-08-01 10:41:22 +02008import javax.persistence.JoinColumn;
9import javax.persistence.JoinTable;
10import javax.persistence.ManyToMany;
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +010011import javax.persistence.Table;
12
13@Entity
Matthias Andreas Benkard57c9a8a2020-01-24 19:09:38 +010014@Table(name = "lazychat_messages", schema = "benki")
Matthias Andreas Benkardd5498fc2020-08-23 21:51:00 +020015public class LazychatMessage extends Post<LazychatMessageText> {
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +010016
Matthias Andreas Benkarda3661f12021-08-01 10:41:22 +020017 @ManyToMany
18 @JoinTable(
19 name = "lazychat_references",
20 schema = "benki",
21 joinColumns = {@JoinColumn(name = "referrer")},
22 inverseJoinColumns = {@JoinColumn(name = "referee")})
Matthias Andreas Benkard06e6c812020-04-13 17:01:35 +020023 @JsonbTransient
Matthias Andreas Benkard0351a8f2022-05-26 08:05:00 +020024 public Collection<Post<?>> referees;
Matthias Andreas Benkard94b5e7b2020-02-09 20:02:20 +010025
Matthias Andreas Benkardd5ae0d52020-03-29 18:57:22 +020026 @CheckForNull
27 @Override
28 public String getUri() {
29 return null;
Matthias Andreas Benkard3d399f32020-03-22 07:23:07 +010030 }
31
Matthias Andreas Benkardd5ae0d52020-03-29 18:57:22 +020032 @CheckForNull
33 @Override
34 public String getTitle() {
35 return null;
36 }
37
Matthias Andreas Benkard371164a2020-03-23 06:21:25 +010038 @Override
39 public boolean isBookmark() {
40 return false;
41 }
42
43 @Override
44 public boolean isLazychatMessage() {
45 return true;
46 }
Matthias Andreas Benkardd5498fc2020-08-23 21:51:00 +020047
48 public void setContent(String x) {
49 var text = getText();
50 if (text == null) {
51 text = new LazychatMessageText();
52 text.post = this;
53 text.language = "";
54 texts.put(text.language, text);
55 }
56
57 text.cachedDescriptionHtml = null;
58 text.content = x;
59 }
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +010060}