1
2
3
4
5
6 package org.tailormap.api.persistence;
7
8 import com.fasterxml.jackson.databind.JsonNode;
9 import jakarta.persistence.Column;
10 import jakarta.persistence.Entity;
11 import jakarta.persistence.EntityListeners;
12 import jakarta.persistence.Id;
13 import jakarta.persistence.Version;
14 import org.hibernate.annotations.Type;
15 import org.tailormap.api.persistence.listener.EntityEventPublisher;
16
17 @Entity
18 @EntityListeners(EntityEventPublisher.class)
19 public class Configuration {
20 public static final String DEFAULT_APP = "default-app";
21
22 public static final String DEFAULT_BASE_APP = "default-base-app";
23
24 public static final String HOME_PAGE = "home-page";
25
26 public static final String PORTAL_MENU = "portal-menu";
27
28 @Id
29 private String key;
30
31 @Version
32 private Long version;
33
34 @Column(columnDefinition = "text")
35 private String value;
36
37 @Type(value = io.hypersistence.utils.hibernate.type.json.JsonBinaryType.class)
38 @Column(columnDefinition = "jsonb")
39 private JsonNode jsonValue;
40
41 private boolean availableForViewer;
42
43
44 public String getKey() {
45 return key;
46 }
47
48 public void setKey(String key) {
49 this.key = key;
50 }
51
52 public Long getVersion() {
53 return version;
54 }
55
56 public Configuration setVersion(Long version) {
57 this.version = version;
58 return this;
59 }
60
61 public String getValue() {
62 return value;
63 }
64
65 public void setValue(String value) {
66 this.value = value;
67 }
68
69 public JsonNode getJsonValue() {
70 return jsonValue;
71 }
72
73 public void setJsonValue(JsonNode jsonValue) {
74 this.jsonValue = jsonValue;
75 }
76
77 public boolean isAvailableForViewer() {
78 return availableForViewer;
79 }
80
81 public void setAvailableForViewer(boolean availableForViewer) {
82 this.availableForViewer = availableForViewer;
83 }
84
85 }