1 /*
2 * Licensed to The Apereo Foundation under one or more contributor license
3 * agreements. See the NOTICE file distributed with this work for additional
4 * information regarding copyright ownership.
5 *
6 *
7 * The Apereo Foundation licenses this file to you under the Educational
8 * Community License, Version 2.0 (the "License"); you may not use this file
9 * except in compliance with the License. You may obtain a copy of the License
10 * at:
11 *
12 * http://opensource.org/licenses/ecl2.txt
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
17 * License for the specific language governing permissions and limitations under
18 * the License.
19 *
20 */
21
22 package org.opencastproject.adminui.usersettings;
23
24 import org.opencastproject.util.Jsons;
25 import org.opencastproject.util.Jsons.Obj;
26
27 /**
28 * A class used to store a key-value pair for a user setting.
29 */
30 public class UserSetting {
31 /** The unique id that identifies it in the database. */
32 private final long id;
33 /** The key that will identify which setting this is. */
34 private final String key;
35 /** The value that is what the setting is set to. */
36 private final String value;
37
38 /**
39 * @param id
40 * A unique id in the database.
41 * @param key
42 * A key that will identify which setting this is, may not be unique.
43 * @param value
44 * A value that the setting is set to.
45 */
46 public UserSetting(long id, String key, String value) {
47 this.id = id;
48 this.key = key;
49 this.value = value;
50 }
51
52 public long getId() {
53 return id;
54 }
55
56 public String getKey() {
57 return key;
58 }
59
60 public String getValue() {
61 return value;
62 }
63
64 /**
65 * @return The JSON representation of this user setting.
66 */
67 public Obj toJson() {
68 return Jsons.obj(Jsons.p("id", id), Jsons.p("key", key), Jsons.p("value", value));
69 }
70 }