View Javadoc
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  }