View Javadoc
1   /*
2    * Copyright (C) 2023 B3Partners B.V.
3    *
4    * SPDX-License-Identifier: MIT
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    // <editor-fold desc="getters and setters">
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    // </editor-fold>
85  }