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 @Id private String key;
25
26 @Version private Long version;
27
28 @Column(columnDefinition = "text")
29 private String value;
30
31 @Type(value = io.hypersistence.utils.hibernate.type.json.JsonBinaryType.class)
32 @Column(columnDefinition = "jsonb")
33 private JsonNode jsonValue;
34
35 private boolean availableForViewer;
36
37
38 public String getKey() {
39 return key;
40 }
41
42 public void setKey(String key) {
43 this.key = key;
44 }
45
46 public Long getVersion() {
47 return version;
48 }
49
50 public Configuration setVersion(Long version) {
51 this.version = version;
52 return this;
53 }
54
55 public String getValue() {
56 return value;
57 }
58
59 public void setValue(String value) {
60 this.value = value;
61 }
62
63 public JsonNode getJsonValue() {
64 return jsonValue;
65 }
66
67 public void setJsonValue(JsonNode jsonValue) {
68 this.jsonValue = jsonValue;
69 }
70
71 public boolean isAvailableForViewer() {
72 return availableForViewer;
73 }
74
75 public void setAvailableForViewer(boolean availableForViewer) {
76 this.availableForViewer = availableForViewer;
77 }
78
79 }