1 /**
2 * Copyright 2011 The Kuali Foundation Licensed under the
3 * Educational Community License, Version 2.0 (the "License"); you may
4 * not use this file except in compliance with the License. You may
5 * obtain a copy of the License at
6 *
7 * http://www.osedu.org/licenses/ECL-2.0
8 *
9 * Unless required by applicable law or agreed to in writing,
10 * software distributed under the License is distributed on an "AS IS"
11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15
16 package org.kuali.mobility.configparams.service;
17
18 import java.util.Collection;
19 import java.util.List;
20
21 import org.kuali.mobility.configparams.entity.ConfigParam;
22
23 /**
24 * Interface for a contract for interacting with configuration parameters
25 * @author Kuali Mobility Team (mobility.dev@kuali.org)
26 */
27 public interface ConfigParamService {
28
29 /**
30 * @param configParam the ConfigParam to save
31 * @return the id of the saved ConfigParam
32 */
33 public Long saveConfigParam(ConfigParam configParam);
34
35 /**
36 * @return all configuration parameters
37 */
38 public List<ConfigParam> findAllConfigParam();
39
40 /**
41 * @param id the id of the ConfigParam to retrieve
42 * @return the ConfigParam matching the id
43 */
44 public ConfigParam findConfigParamById(Long id);
45
46 /**
47 * @param name the name of the ConfigParam to retrieve
48 * @return the ConfigParam matching the name
49 */
50 public ConfigParam findConfigParamByName(String name);
51
52 /**
53 * @param id the id of the ConfigParam to delete
54 */
55 public void deleteConfigParamById(Long id);
56
57 /**
58 * @param name the name of the ConfigParam
59 * @return the value of the matched ConfigParam
60 */
61 public String findValueByName(String name);
62
63 /**
64 * Convert a collection of ConfigParam objects to JSON notation
65 * @param collection the colleciton of ConfigParam objects to convert
66 * @return the JSON string representing the collection
67 */
68 public String toJson(Collection<ConfigParam> collection);
69
70 /**
71 * Parse a JSON string into a ConfigParam object
72 * @param json
73 * @return the parsed ConfigParam
74 */
75 public ConfigParam fromJsonToEntity(String json);
76
77 /**
78 * Parse a JSON string into a ConfigParam collection
79 * @param json
80 * @return the parsed ConfigParam collection
81 */
82 public Collection<ConfigParam> fromJsonToCollection(String json);
83
84 }